首页 / 知识
用Python爬取百度搜索结果
2023-11-12 13:39:00
一、前言
众所周知,百度上直接搜索关键字会出来一大堆东西,时常还会伴随有广告出现,不小心就点进去了,还得花时间退出来,有些费劲。
最近群里有个小伙伴提出一个需求,需要获取百度上关于粮食的相关讲话文章标题和链接。正好小编最近在学习爬虫,就想着拿这个需求来练练手。我们都知道,对Python来说,有大量可用的库,实现起来并不难,动手吧。
二、项目目标
爬取百度上关键字为“粮食”的搜索结果,并保存,提交给客户,用于进一步分析我国粮食政策。
三、项目准备
软件:PyCharm
需要的库:json,requests,etree
四、项目分析
1)如何进行关键词搜索?
利用response库,直接Get网址获得搜索结果。
2)如何获取标题和链接?
利用etree对原代码进行规范梳理后,通过Xpath定位到文章标题和href,获取标题和文章链接。
3)如何保存搜索结果?
新建txt文件,对搜索结果循环写入,保存即可。
五、项目实现
1、第一步导入需要的库
importjson
importrequests
fromlxmlimportetree
2、第二步用requests进行请求搜索
headers={
"User-Agent":"Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/88.0.4324.104Safari/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、第四步把有用资源循环读取保存
foriinrange(10):
r11=r1[i].xpath('string(.)')
r22=r2[i].xpath('string(.)')
r33=r3[i]
withopen('ok.txt','a',encoding='utf-8')asc:
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)
以上内容为大家介绍了用Python爬取百度搜索结果,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
用于业余项目的优秀 Python 库
用于业余项目的优秀 Python 库,数据,工具,项目,信息,培训,系统,地图,下来,工作,管理,1.在数据库中即时保存数据:Dataset当我们想要在不知道最Python性能分析
Python性能分析,代码,分析,对比,时间,工具,标准,注释,跨行,通用,报告,python标准库提供两个代码性能分析相关的模块,即timeit和cProfile/profipython获取当前时间日期有哪些方法
python获取当前时间日期有哪些方法?,时间,标准,星期六,培训,日期,微秒,结果,模块,星期,格式,获取到时间也是我们在学习python遇到的常见问题,python如何获取程序执行时间?
python如何获取程序执行时间?,代码,培训,标准,程序,方法,中间,使用方法,以上,手册,更多,python获取程序执行时间的方法:1、使用time.clock()方怎么计算python程序运行时间
怎么计算python程序运行时间,时间,培训,程序,方式,脚本,下面,以上,两个,结束,不是,python脚本使用统计时间的方式是time.clock(),而这种方式统python如何计算程序运算时间
python如何计算程序运算时间,时间,系统,单位,培训,程序,方法,浮点,以来,类型,纪元,python计算程序运算时间的方法:方法1:importdatetimestarttipython如何手动输入时间
python如何手动输入时间,时间,培训,单位,项目,平台,设计,日期,模块,新和,函数,python是一种跨平台的计算机程序设计语言。是一种面向对象的动python怎么打包整个项目
python怎么打包整个项目,环境,标准,项目,培训,工作,工具,脚本,状况,以上,版本,distutils-Python自带的基本安装工具,适用于非常简单的应用场python怎么把时间戳转成星期几
python怎么把时间戳转成星期几,时间,培训,格式,日期,星期,常会,下面,以上,结果,方法,在python中经常会遇到时间格式的转换的问题(时间戳与日python用什么软件写python
python用什么软件写python,环境,软件,公司,代码,培训,时间,平台,系统,时代,装备,在这个烦躁的时代,相聚就是缘分,很高兴各位Pythoner能相聚于此python怎么短时间学好python
python怎么短时间学好python,时间,基础,地方,培训,第三,不了,第一,基础知识,高效,置之脑后,在聊怎么用最短时间高效而踏实地学习Python这门语python学python需要什么开发软件
python学python需要什么开发软件,环境,软件,工具,服务,培训,代码,管理,数字,统一,工程,学python需要的开发软件:IDE集成开发环境(IDE,Integrate