Python抓取百度查询结果的方法

Python抓取百度查询结果的方法

在Python中使用第三方库BeautifulSoup和requests可以非常方便地实现对百度查询结果的抓取。

步骤一:获取查询结果的网页源代码

使用requests库发起GET请求获取查询结果的网页源代码。

import requests

def get_page_source(keyword):
    url = f"https://www.baidu.com/s?wd={keyword}"
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    response = requests.get(url, headers=headers, timeout=10)
    response.encoding = "utf-8"
    return response.text

其中keyword是查询的关键词,url根据关键词拼装出百度查询结果的网址,headers则是为了模拟浏览器发送请求的消息头,timeout则是请求超时时间。

步骤二:解析网页源代码

使用BeautifulSoup库解析网页源代码,获取需要的信息。

from bs4 import BeautifulSoup

def parse_page_source(page_source):
    bs = BeautifulSoup(page_source, "html.parser")
    results = bs.find_all("div", class_="result c-container ")
    search_results = []
    for result in results:
        title = result.find("h3").text
        link = result.find("a").get('href')
        summary = result.find("div", class_="c-abstract").text
        search_results.append({'title': title, 'link': link, 'summary': summary})
    return search_results

首先使用BeautifulSoup将网页源代码解析为BeautifulSoup的对象bs,然后根据页面结构和相关类名进行元素查找,提取出标题、链接和摘要等信息,并将这些信息封装为一个包含这些信息的字典,最后将所有的字典放到一个列表中返回。

示例一:查询Python

keyword = "Python"
page_sourc = get_page_source(keyword)
results = parse_page_source(page_sourc)
for result in results:
    print(result['title'])
    print(result['link'])
    print(result['summary'])
    print()

示例二:查询人工智能

keyword = "人工智能"
page_sourc = get_page_source(keyword)
results = parse_page_source(page_sourc)
for result in results:
    print(result['title'])
    print(result['link'])
    print(result['summary'])
    print()

以上两个示例分别演示了Python对关键词“Python”和“人工智能”的百度查询结果的抓取和输出。其中,get_page_source()函数用于获取查询结果的网页源代码,parse_page_source()函数则用于解析网页源代码并提取有用的信息。最后,通过for循环遍历所有搜索结果的字典,打印出字典中的标题、链接和摘要等信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python抓取百度查询结果的方法 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 分享介绍Python的9个实用技巧

    分享介绍Python的9个实用技巧攻略 作为一种流行的编程语言,Python在不断地发展和壮大。为了更好地了解Python,我准备了以下9个实用技巧供大家参考。 技巧1:使用虚拟环境(Virtualenv) 在开发Python项目时,有时候我们需要在同一系统上运行不同版本的Python或Python模块,这时就需要使用虚拟环境来实现。虚拟环境可以帮助我们隔离…

    python 2023年5月19日
    00
  • python 自动轨迹绘制的实例代码

    下面是详细讲解“python 自动轨迹绘制的实例代码”的完整攻略: 概述 Python 自动轨迹绘制是一种基于 Python 语言实现的图形绘制思想,通过 Python 的 turtle 模块实现了在屏幕上自动绘制给定轨迹的功能。这种绘制方式主要适用于游戏、动画和图形教学等场景。 环境要求 Python 3.0 或以上版本 turtle 模块 示例代码 下面…

    python 2023年5月19日
    00
  • python中终止协程和异常处理方式

    相信你对Python异步编程和协程有一定了解,我分别为你解释Python中终止协程和异常处理方式的攻略。 Python中终止协程的方式 协程是Python异步编程中重要的一部分,在协程中可能会出现需要提前终止协程的情况。Python中提供了3种终止协程的方式,分别是协程的throw()方法、close()方法和cancel()方法。 throw()方法 一种…

    python 2023年5月13日
    00
  • python实现scrapy爬虫每天定时抓取数据的示例代码

    下面是python实现scrapy爬虫每天定时抓取数据的完整攻略。 1. 安装相关依赖 首先,需要安装以下依赖: scrapy twisted schedule 可以使用以下命令安装: pip install scrapy twisted schedule 2. 编写爬虫代码 在编写爬虫代码时,需要考虑到定时任务和自动运行。以下是一个示例代码: import…

    python 2023年5月14日
    00
  • windows10系统中安装python3.x+scrapy教程

    下面给出在windows10系统中安装Python3.x和Scrapy的完整攻略: 安装Python3.x 下载Python3.x安装包 首先,我们需要去Python官网下载最新的Python3.x安装包,网址是 https://www.python.org/downloads/ 。建议选择最新的稳定版,即左侧的Download Python 3.x.x按钮…

    python 2023年5月30日
    00
  • python中input()的用法及扩展

    下面是关于Python中input()的用法及扩展的完整攻略。 1. input()的基本用法 input()是Python中读取用户输入的内置函数。它的语法格式如下: input([prompt]) 其中,prompt是可选的参数,当被指定时,会在等待用户输入时在控制台内输出prompt的值。 使用input()来读取用户输入的基本用法如下: name =…

    python 2023年6月3日
    00
  • 读取本地json文件,解析json(实例讲解)

    在Python中,可以使用内置的json模块来读取本地JSON文件并解析JSON数据。以下是读取本地JSON文件,解析JSON数据的详细攻略: 读取本地JSON文件 要读取本地JSON文件,可以使用open()函数打开文件,并使用json.load()函数将文件内容加载为Python对象。以下是读取本地JSON文件的示例: import json with …

    python 2023年5月14日
    00
  • python中的psutil模块详解(cpu、内存、磁盘情况、结束指定进程)

    Python中的psutil模块详解 什么是psutil psutil是一个跨平台的系统监控库,可以获取CPU、内存、磁盘和网络等系统信息。使用psutil可以实现监控系统,实现自动化运维等功能。 安装psutil 使用pip可以轻松安装psutil: pip install psutil 获取CPU使用率 使用psutil.cpu_percent()方法可…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部