千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:西安千锋IT培训  >  技术干货  >  用Python爬取百度搜索结果

用Python爬取百度搜索结果

来源:千锋教育
发布人:xqq
时间: 2023-11-08 22:16:04

一、前言

众所周知,百度上直接搜索关键字会出来一大堆东西,时常还会伴随有广告出现,不小心就点进去了,还得花时间退出来,有些费劲。

最近群里有个小伙伴提出一个需求,需要获取百度上关于粮食的相关讲话文章标题和链接。正好小编最近在学习爬虫,就想着拿这个需求来练练手。我们都知道,对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相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

用Python爬取百度搜索结果

2023-11-08

Python为什么这么火

2023-11-08

python使用运算符实现列表扩展

2023-11-08

最新文章NEW

用Python开发一个简单的猜数字游戏

2023-11-08

Python 中 Logging 模块使用详情

2023-11-08

Python解释器的诞生

2023-11-08

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>