0


使用 Python 指定内容 爬取百度引擎搜索结果

在本篇博客中,我将展示如何使用 Python 编写一个简单的百度搜索爬虫。这个爬虫可以自动化地从百度获取搜索结果,并提取每个结果的标题和链接。我们将使用

  1. requests

库来发送 HTTP 请求,使用

  1. BeautifulSoup

库来解析 HTML 内容。

需求分析

在实现爬虫之前,我们需要明确以下需求:

  • 通过构建百度搜索的 URL 来发送搜索请求。
  • 解析百度搜索结果页面,提取每个结果的标题和链接。
  • 将搜索结果以列表形式返回,方便后续处理和展示。

使用库

我们需要安装两个 Python 库:

  • requests:用于发送 HTTP 请求。
  • BeautifulSoup:用于解析 HTML 内容。

安装这两个库可以使用以下命令:

  1. pip install requests beautifulsoup4

步骤和代码解析

** 1.导入库**

  1. import requests
  2. from bs4 import BeautifulSoup

我们首先导入了

  1. requests

  1. BeautifulSoup

库。

** 2.定义搜索函数**

  1. def baidu_search(keyword):

定义一个名为

  1. baidu_search

的函数,接受搜索关键字作为参数。

** 3.设置请求头**

  1. headers = {
  2. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
  3. }

设置请求头信息,模拟浏览器访问,以防止被百度识别为爬虫。

** 4.构建搜索 URL 并发送请求**

  1. search_url = f"https://www.baidu.com/s?wd={keyword}"
  2. response = requests.get(search_url, headers=headers)

** 5.检查请求状态并解析响应内容**

  1. if response.status_code == 200:
  2. soup = BeautifulSoup(response.text, 'html.parser')

检查请求是否成功,如果成功,使用

  1. BeautifulSoup

解析响应内容。

** 6.查找并提取搜索结果**

  1. search_results = soup.find_all('h3', class_='t')

查找所有包含搜索结果的 HTML 元素,并提取其中的标题和链接。

** 7.返回结果**

  1. results = []
  2. for result in search_results:
  3. title = result.get_text()
  4. link = result.a['href']
  5. results.append({'title': title, 'link': link})
  6. return results

将提取的标题和链接存储在字典列表中并返回。

** 8.测试爬虫**

  1. keyword = "编程"
  2. search_results = baidu_search(keyword)
  3. if search_results:
  4. print(f"关键字 '{keyword}' 的搜索结果:")
  5. for idx, result in enumerate(search_results, 1):
  6. print(f"{idx}. {result['title']}")
  7. print(f" 链接: {result['link']}")
  8. print()
  9. else:
  10. print("未能获取搜索结果。")

调用

  1. baidu_search

函数进行测试,并打印搜索结果。

完整代码

以下是完整的代码实现:

  1. import requests
  2. from bs4 import BeautifulSoup
  3. def baidu_search(keyword):
  4. # 设置请求头部信息,模拟浏览器访问
  5. headers = {
  6. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
  7. }
  8. # 构建搜索URL
  9. search_url = f"https://www.baidu.com/s?wd={keyword}"
  10. # 发送GET请求
  11. response = requests.get(search_url, headers=headers)
  12. # 检查请求是否成功
  13. if response.status_code == 200:
  14. # 解析响应内容
  15. soup = BeautifulSoup(response.text, 'html.parser')
  16. # 查找搜索结果的标题和链接
  17. search_results = soup.find_all('h3', class_='t')
  18. # 提取标题和链接
  19. results = []
  20. for result in search_results:
  21. title = result.get_text()
  22. link = result.a['href']
  23. results.append({'title': title, 'link': link})
  24. return results
  25. else:
  26. print("请求失败!")
  27. return None
  28. # 测试爬虫功能
  29. keyword = "编程"
  30. search_results = baidu_search(keyword)
  31. if search_results:
  32. print(f"关键字 '{keyword}' 的搜索结果:")
  33. for idx, result in enumerate(search_results, 1):
  34. print(f"{idx}. {result['title']}")
  35. print(f" 链接: {result['link']}")
  36. print()
  37. else:
  38. print("未能获取搜索结果。")

运行结果

说明

在本篇博客中,我们创建了一个简单的百度搜索爬虫,通过 Python 的

  1. requests

库发送 HTTP 请求,使用

  1. BeautifulSoup

库解析 HTML 内容,并提取搜索结果的标题和链接。该爬虫主要包含以下几个步骤:

  1. 导入库:导入 requestsBeautifulSoup 库。
  2. 定义搜索函数:创建 baidu_search 函数,用于构建搜索 URL 并发送请求。
  3. 设置请求头:模拟浏览器的请求头,以防被识别为爬虫。
  4. 构建搜索 URL 并发送请求:根据用户输入的关键字构建搜索 URL,并发送 GET 请求。
  5. 检查请求状态并解析响应内容:确认请求成功后,使用 BeautifulSoup 解析 HTML 内容。
  6. 查找并提取搜索结果:从解析后的 HTML 中提取标题和链接。
  7. 返回结果:将提取的数据以字典形式存储,并返回给调用者。
  8. 测试爬虫:通过实际的关键字测试爬虫功能,并输出结果。

相关类型推荐

如果你对网络爬虫和数据提取感兴趣,可以尝试以下项目:

  1. 微博爬虫:抓取微博上的热门话题和评论。
  2. 电商网站爬虫:抓取商品信息和价格,进行价格比较。
  3. 新闻网站爬虫:抓取最新新闻标题和链接,进行新闻聚合。

通过这些步骤,我们可以实现一个基本的搜索引擎爬虫,为学习网络爬虫和数据提取提供了一个实用的示例。

其他文章推荐

  1. 90道 编程题挑战:从基础到高级项目-CSDN博客
  2. 使用 PyQt5 和 Windows API 创建文件删除确认对话框-CSDN博客
  3. 使用Python和Selenium爬取QQ新闻热榜-CSDN博客
  4. Python 文件搜索程序详解与实现-CSDN博客
  5. python 数据结构与算法-CSDN博客

结论

通过本篇博客,读者能够掌握如何使用 Python 编写一个简单的百度搜索爬虫,并了解爬虫的基本流程。使用

  1. requests

进行 HTTP 请求,利用

  1. BeautifulSoup

解析网页内容,以及如何处理和提取有用的数据。这些技能是进行网页数据抓取和信息提取的基础,对进一步学习爬虫技术和数据分析有很大帮助。

总结

通过这篇博客,你可以掌握如何使用 Python 编写一个简单的百度搜索爬虫,并了解爬虫的基本流程。使用

  1. requests

进行 HTTP 请求,利用

  1. BeautifulSoup

解析网页内容,以及如何处理和提取有用的数据。这些技能是进行网页数据抓取和信息提取的基础,对进一步学习爬虫技术和数据分析有很大帮助。

希望这些信息对你有帮助!如果你有任何问题或需要进一步的帮助,请随时告诉我。😊

标签: python 百度 爬虫

本文转载自: https://blog.csdn.net/m0_74972192/article/details/140781438
版权归原作者 LIY若依 所有, 如有侵权,请联系我们删除。

“使用 Python 指定内容 爬取百度引擎搜索结果”的评论:

还没有评论