这篇文章将为大家详细讲解有关python写爬虫的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
所谓网络爬虫,通俗的讲,就是通过向我们需要的网址发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息。
下面是一个简单的爬虫程序
<强> http基本知识强>
当我们通过浏览器访问指定的URL时,需要遵守http协议,本节将介绍一些关于http的基础知识。
<强> http基本流程强>
我们打开一个网页的过程,就是一次http请求的过程。这个过程中,我们自己的主机充当着客户机的作用,而充当客户端的是浏览器。我们输入的URL对应着网络中某台服务器上面的资源,服务器接收到客户端发出的http请求之后,会给客户端一个响应,响应的内容就是请求的URL对应的内容,当客户端接收到服务器的响应时,我们就可以在浏览器上看见请求的信息了。
推荐学习《python教程》
我们可以通过python的请求模块很方便的发起http请求.requests模块是第三方模块,安装完成之后直接进口就能使用。下面介绍一些简单的用法
<强>发起请求
强>
import 请求 #,请求的首部信息 headers =, { ,,,& # 39;用户代理# 39;:,& # 39;Mozilla/5.0, (Windows NT 10.0;, Win64;, x64), AppleWebKit/537.36, (KHTML, like 壁虎), ,,,Chrome/65.0.3325.146 Safari/537.36 & # 39; } #,例子的url 时间=url & # 39; https://voice.hupu.com/nba& # 39;, #,虎扑nba新闻 #,利用请求对象的得到方法,对指定的网址发起请求 #,该方法会返回一个响应对象 时间=res requests.get (url,头=标题) #,通过反应对象的文本方法获取网页的文本信息 打印(res.text)
上面的代码中,我们向虎扑的服务器发送了一个得到请求,获取虎扑首页的nba新闻.headers参数指的是http请求的首部信息,我们请求的url对应的资源是虎扑nba新闻的首页。获取到对应的网页资源之后,我们需要对其中的信息进行提取。
<强>通过BeautifulSoup提取网页信息强>
BeautifulSoup库提供了很多解析html的方法,可以帮助我们很方便地提取我们需要的内容。我们这里说的BeautifulSoup指的是bs4。当我们成功抓取网页之后,就可以通过BeautifulSoup对象对网页内容进行解析。在BeautifulSoup中,我们最常用的方法就是发现()方法和find_all()方法,借助于这两个方法,可以轻松地获取到我们需要的标签或者标签组。关于其他的方法,可以参考bs4的官方文档:BeautifulSoup
找到()方法和find_all()方法的用法如下
找到(name ,, attrs ,, recursive ,, string ,, * * kwargs ) #,find_all()方法将返回文档中符合条件的所有标签, find_all (name ,, attrs ,, recursive ,, string ,, * * kwargs )
得到bs4 import BeautifulSoup #,BeautifulSoup对象接收html文档字符串 #,lxml是html解析器 soup =,美丽(res.text, & # 39; lxml # 39;) #,下面的方法找出了所有类为你好的跨度标签 #,并将所有的结果都放入一个列表返回 tags =, soup.find_all(& # 39;跨度# 39;,,{& # 39;类# 39;:,& # 39;你好# 39;})
关于python写爬虫的案例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。