Python实战之用Python爬取百度搜索结果并保存
小职 2021-02-25 来源 :转自:Python爬虫与数据挖掘 阅读 943 评论 0

摘要:本文主要介绍了Python实战之用Python爬取百度搜索结果并保存,通过具体的内容向大家展现,希望对大家Python的学习有所帮助。

本文主要介绍了Python实战之用Python爬取百度搜索结果并保存,通过具体的内容向大家展现,希望对大家Python的学习有所帮助。

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

一、前言

 

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

 

最近群里有个小伙伴提出一个需求,需要获取百度上关于粮食的相关讲话文章标题和链接。正好小编最近在学习爬虫,就想着拿这个需求来练练手。我们都知道,对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 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、程序运行结果,如下图所示:

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

 

 

2、保存为txt的文件最终结果如下图所示:

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

 

 

七、总结

 

本文介绍了如何利用Python对百度搜索结果进行爬取、保存,是一个小爬虫,这也是Python好玩的地方,有大量免费的库可用,能帮你实现各种需求。工作量大,学会用Python!


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取最新技术干货教程资源

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

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程