Python爬虫伪装浏览器,初步提取信息!

先说浏览器伪装,我们上网,是通过浏览器来打开网页的。这个流程已经在前面文章中简单提及,并提供了链接资料供大家学习。希望你真的去学习了,而不是等待,因为学习爬虫是个不断学习,不断实践的过程,没有捷径可走。

这是小编准备的python爬虫学习资料,加小编python学习群:696541369即可获取拉!

Python爬虫伪装浏览器,初步提取信息!

我们现在拿浏览百度举例,我们先打开Fiddler工具(如果按照这个工具在上一篇文章中提到了),然后打开百度网页,刷新一下,我们可以在Fiddler中看到下图中的信息:这是我们通常上网时的客户端头部信息。如果,你还没有安装这个工具,你可以鼠标右键点击网页,然后点击检查标签等等操作,也能看到此类信息。但是没有Fiddler工具,下面用Python爬虫时就无法看到此类信息了。

Python爬虫伪装浏览器,初步提取信息!

而如果,我们关闭百度还有其他网页,用下面的Python代码上网(用没有打对勾的部分的代码爬虫),那么头部信息如下图:

Python爬虫伪装浏览器,初步提取信息!

这样的话,服务器端就很明白你就是一个爬虫程序,不是真正的客户正常上网,所以,服务器端很容易就拒绝你的请求,使你爬虫失败。解决之道,就是在Python代码里面加上如下的语句。

Python爬虫伪装浏览器,初步提取信息!

今天学习的第二部分,就是使用bs4这个第三方库来初步练习获取我们所需的网页上的信息。

正如上一篇文章介绍的requests库一样,我们还需要这个称作bs4的库,还有lxml,这个被书中作者称为爬虫三大库,可见其重要性。都需要下载安装。安装不再介绍。除了安装,我们还要知道如何学习使用这些库。简单说,有两种学习方法,一种简单的,就是从书上,或者网上介绍文章中学习,这个取决于你接触的材料水平和详略等影响,有时候并不靠谱。比如我们介绍的书中,并没有此等详细知识,遇到问题时,可能就无从下手去解决。第二种方法,就是直接研读库的文档,如果你真想掌握这些库,那就仔细研读他们吧,看不懂的地方,还需要结合网上的举例资料等来仔细推敲。我将bs4的链接给大家,里面有中文的链接。

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

下面我们用大家最喜欢用的find_all来简单介绍如何练习提取信息。看图:

Python爬虫伪装浏览器,初步提取信息!

这是股市龙虎榜的爬虫练习,使用了伪装。当然,这个网站不伪装它也给予配合反应。

代码里面就直接使用了find_all这个方法。里面的标签选择是个考验人的地方,如果你对HTML不熟,对网站布局不熟,那么就难以找出你想要的信息究竟是在哪些标签里,你的信息提取就成了很大的问题。我这个龙虎榜网站,最多的标签可能是这个td了,它里面充满了上榜的股市代码名称交易量等信息。直接find_all返回后,用for循环提取里面的文本信息,用text就行。如果你不熟悉标签,建议你一个一个的实验,并看其输出,这样来理解html的结构,到哪里看?自然是通过鼠标右键点击所爬网页,然后选择检查选项,就会出现一个HTML文档供你皱着眉头分析。自然,如果你能练习一下HTML的代码,对于你的爬虫练习就更加有利了。

猜你喜欢

转载自blog.csdn.net/weixin_44138053/article/details/88371132