您现在的位置是:亿华云 > 数据库
手把手教你用Python爬取百度搜索结果并保存
亿华云2025-10-09 01:21:29【数据库】7人已围观
简介一、前言众所周知,百度上直接搜索关键字会出来一大堆东西,时常还会伴随有广告出现,不小心就点进去了,还得花时间退出来,有些费劲。最近群里有个小伙伴提出一个需求,需要获取百度上关于粮食的相关讲话文章标题和
一、手把手教索结前言
众所周知,取百百度上直接搜索关键字会出来一大堆东西,度搜时常还会伴随有广告出现,果并不小心就点进去了,保存还得花时间退出来,手把手教索结有些费劲。取百
最近群里有个小伙伴提出一个需求,度搜需要获取百度上关于粮食的果并相关讲话文章标题和链接。正好小编最近在学习爬虫,保存就想着拿这个需求来练练手。手把手教索结我们都知道,取百对Python来说,度搜有大量可用的果并库,实现起来并不难,保存动手吧。
二、项目目标
爬取百度上关键字为“粮食”的搜索结果,并保存,提交给客户,服务器托管用于进一步分析我国粮食政策。
三、项目准备
软件:PyCharm
需要的库:json, requests,etree
四、项目分析
1)如何进行关键词搜索?
利用response库,直接Get网址获得搜索结果。网址如下:
https://www.baidu.com/s?wd=粮食2)如何获取标题和链接?
利用etree对原代码进行规范梳理后,通过Xpath定位到文章标题和href,获取标题和文章链接。
3)如何保存搜索结果?
新建txt文件,对搜索结果循环写入,保存即可。
五、项目实现
1、第一步导入需要的库
import json import requests from lxml import etree2、第二步用requests进行请求搜索
headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36" } response = requests.get(https://www.baidu.com/s?wd=粮食&lm=1, headers=headers)3、第三步对获取的源代码进行整理分析,通过Xpath定位需要的b2b供应网资源
r = response.text html = etree.HTML(r, etree.HTMLParser()) r1 = html.xpath(//h3) r2 = html.xpath(//*[@class="c-abstract"]) r3 = html.xpath(//*[@class="t"]/a/@href)4、第四步把有用资源循环读取保存
for i in range(10): r11 = r1[i].xpath(string(.)) r22 = r2[i].xpath(string(.)) r33 = r3[i] with open(ok.txt, a, encoding=utf-8) as c: c.write(json.dumps(r11,ensure_ascii=False) + \n) c.write(json.dumps(r22, ensure_ascii=False) + \n) c.write(json.dumps(r33, ensure_ascii=False) + \n) print(r11, end=\n) print(------------------------) print(r22, end=\n) print(r33)六、效果展示
1、程序运行结果,如下图所示:
2、保存为txt的文件最终结果如下图所示:
七、总结
本文介绍了如何利用Python对百度搜索结果进行爬取、保存,是一个小爬虫,这也是Python好玩的地方,有大量免费的库可用,能帮你实现各种需求。工作量大,学会用Python!
本文转载自微信公众号「Python爬虫与数据挖掘」,可以通过以下二维码关注。转载本文请联系Python爬虫与数据挖掘公众号。
很赞哦!(3)
相关文章
- Status、Creation Date、Expiration Date
- 你不会还在用这8个错误的SQL写法吧?
- X86服务器性能调优三板斧
- 跨系统数据一致性问题经验实战
- (4) 使用何种形式的域名后缀对网页搜索影响不大,但域名后缀也需要考虑方便用户记忆
- 实用!一款开源的 JSON 可视化管理工具
- Cloudflare、Deno 和 Node.js 三方合作,改善 JS 互操作性
- 这几个Python数据可视化探索实例,拿走不谢!
- 付款完成后,您只需耐心等待,如果您注册成功,系统会提示您。这里需要注意的是,域名是一个即时产品,只有在最终付款成功时才能预订,注册成功后不能更改。
- JMeter关联之正则表达式提取器