用Python爬取百度搜索结果并保存

项目目标

爬取百度上关键字为“粮食”的搜索结果,并保存,提交给客户,用于进一步分析我国粮食政策。

项目准备

软件:PyCharm

需要的库:json, requests,etree

项目分析

1)如何进行关键词搜索?

利用response库,直接Get网址获得搜索结果。网址如下:

https://www.baidu.com/s?wd=粮食

2)如何获取标题和链接?

利用etree对原代码进行规范梳理后,通过Xpath定位到文章标题和href,获取标题和文章链接。

3)如何保存搜索结果?

新建txt文件,对搜索结果循环写入,保存即可。

项目实现

1、第一步导入需要的库

import jsonimport requestsfrom lxml import etree
2、第二步用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定位需要的资源

​​​​​​​

   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!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟学识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值