千家信息网

Python如何爬取指定百度搜索的内容并提取网页的标题内容

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Python如何爬取指定百度搜索的内容并提取网页的标题内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。hello,大家好。今天为大
千家信息网最后更新 2026年11月03日Python如何爬取指定百度搜索的内容并提取网页的标题内容

Python如何爬取指定百度搜索的内容并提取网页的标题内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

hello,大家好。今天为大家带来的是之前分享过的requests库与lxml库的结合使用案例一:指定百度搜索的内容并提取网页的标题内容。好的,废话不多说,直接上主菜。

第一步:完成初步分析

下面我们来完成我们的第一步,分析我们的目标。大家可千万不要小看这一步哦,因为我们只有思路清晰才能在较短的时间里面写出漂亮的代码。

1.确定url:

首先,我们想要请求网页,必须知道我们的url(即网址)是什么。下面,我打开Chrome(谷歌)浏览器,并且打开百度页面,指定搜索"python",得到下图结果:

第二步:完成获取页面程序主体框架

写python程序,有时候很矛盾,是用面向对象呢?还是面向过程呢?其实都随意(我比较随意,因为没有人要求我必须使用什么写),这里我采取面向对象的方式来写这个程序。

1.首先,我们需要写出大体的框架:

#文件一import requestsclass MySpider(object):    def __init__(self):        self.url = 'http://www.baidu.com/s?wd={name}' #这里采用format的格式化输入        self.headers = {            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'        }    def main(self):        #处理url        self.target = input('请输入你感兴趣的内容:')        self.url = self.url.format(name=self.target)  #重新构建url,大家测试的时候可以尝试打印        #请求        text = self.get()         #写入文件        self.write(text)    def get(self):        '''请求并返回网页源代码'''        pass        def write(self,text):        '''将返回的源代码写入文件,等待之后解析用'''        passif __name__ == '__main__':    spider = MySpider()    spider.main()

2.为什么需要写入文件,而不直接解析:

这里有几个原因。

1>我们写代码,一般来说都不可能一次写成功,总是需要修改和测试的。平时我们写代码,自然可以随意的测试运行,都可以检测代码是否正确,但是爬虫却不能这样。因为如果你在较短时间内访问了网站次数过多,可能会导致网站对你做出一些限制性举动,比如:增加验证码判断你是否为人类,严重点的短时间内封禁你的ip。因此,我们将网页源代码写入文件,这样在之后写解析代码的时候就不需要重新去访问网站了。

2>我们以html的形式写入文件,可以用浏览器打开这个文件,可以比较清晰的看出这个文件是否为我们需要爬取的文件。如下图是我爬取后存入的文件以谷歌浏览器打开的结果:

完成获取页面程序:

下面我们来完成获取页面的程序代码:

1.完成请求函数get:

def get(self):        '''请求并返回网页源代码'''        response = requests.get(self.url,self.headers)        if response.status_code == 200:            return response.text

这个没什么好说的,是最基础的代码。

2.完成写入文件函数write:

def write(self,text): with open('%s.html'%self.target,'w',encoding='utf-8') as f:     #这里的self.target为输入搜索的内容  f.write(text)

这个也只是文件的基本操作,没什么好讲解的地方,只是注意我们这里存入的为html文件,而不是txt文件。

3.检测是否正常运行以及是否为我们想要的结果:

这里检测的方式我前面已经提及,就是浏览器打开相应的页面即可。如下图操作:

说明程序正常运行。

完成解析页面的大体框架和局部内容:

1.完成解析页面程序的框架:

from lxml import etreeclass Parse(object):    def __init__(self):        #读取内容并且初始化        with open('python.html','r',encoding='utf-8') as f:            self.html = etree.HTML(f.read())    #解析页面    def parse(self):        passif __name__ == '__main__':    parser = Parse()    parser.parse()

2.完成解析函数parse:

下面我们来完成最后一步,解析函数的敲写。

首先我们需要分析下,我们想要获取的内容在什么标签里面。分析过程如图(个人认为这部分比较重要,因为我初学的时候主要困惑于两点:如何处理失败的请求,解析的思路是什么)

好的,分析清楚了我们需要的内容在哪里之后,可以使用lxml来写代码了,如下:

def parse(self):    #获取url    h4_tags = self.html.xpath('//h4[contains(@class,"t")]//text()')    h4_tags = [i.strip() for i in h4_tags]    print(h4_tags)

下面要做的工作就是处理这些字符串,但是这个并不是我们的重点,并且这些数据并不重要,所以就不处理了。

总结与全文代码:

1.首先附上全文代码:

# -*- coding:utf-8 -*-#获取网页内容文件import requestsclass MySpider(object):    def __init__(self):        self.url = 'http://www.baidu.com/s?wd={name}'        #写清楚获取headers途径        self.headers = {            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'        }    def main(self):        #处理url        self.target = input('请输入你感兴趣的内容:')        self.url = self.url.format(name=self.target)        #请求        text = self.get()        #写入文件        # self.write(text)    def get(self):        '''请求并返回网页源代码'''        response = requests.get(self.url,self.headers)        if response.status_code == 200:            return response.text    def write(self,text):        with open('%s.html'%self.target,'w',encoding='utf-8') as f:            f.write(text)if __name__ == '__main__':    spider = MySpider()    spider.main()
# -*- coding:utf-8 -*-#解析页面文件from lxml import etreeclass Parse(object):    def __init__(self):        with open('python.html','r',encoding='utf-8') as f:            self.html = etree.HTML(f.read())    def parse(self):        #获取标题        h4_tags = self.html.xpath('//h4[contains(@class,"t")]//text()')        h4_tags = [i.strip() for i in h4_tags]        print(h4_tags)if __name__ == '__main__':    parser = Parse()    parser.parse()

2.总结:

好的,今天的分享就到此为止了。这是最基础的案例,主要目的是让大家先熟悉下,如何使用requests和lxml写一个爬虫程序,其次就是让大家熟悉下分析网站的思路。

关于Python如何爬取指定百度搜索的内容并提取网页的标题内容问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

文件 内容 代码 网页 页面 程序 分析 搜索 源代码 标题 函数 框架 浏览器 网站 处理 浏览 输入 就是 思路 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网项目 科技互联网政务服务 科技互联网技术 艾特科技互联网 伴你行互联网科技有限公司 左右互联网络科技 互联网科技股有哪些 蓝色互联网科技 汉立互联网科技有限公司联系电话 北京大学互联网科技怎么样 央行互联网金融科技公司 移动互联网科技股 互联网大会黑科技排名 崇明区互联网教育科技诚信经营 本届互联网大会上的黑科技 卡尔迅互联网科技有限公司 东营紫格互联网科技 互联网高科技行业有哪些企业 艺电能源互联网科技有限公司招聘 恒生科技互联网指数十大成分股 上海睿民互联网科技有限公司 互联网科技活动banner 互联网核心科技是什么 赶超互联网科技 微信多开 翼展科技 首家互联网医院 玉溪新华互联网科技好不好 元气玛特互联网科技公司是外包吗 山东大美朱楼互联网科技有限公司 青岛易易互联网科技 互联网科技创业计划的风险分析
0