爬虫的三大库分别为Requests库,BeautifulSoup库和Lxml库。
Requests库
其作用就是请求网站获取网页数据的。简单的例子如下:
BeautifulSoup库
此库是非常流行的Python模块。通过它可以轻松地解析Requests库请求的网页,并把网页源代码解析为Soup文档。
经过Beautiful库解析后得到的Soup文档按照标准缩进格式的结构输出,为结构化的数据,为数据过滤提取做出准备。
Soup文档可以使用find()和find_all()方法以及selector方法定位需要的元素。
1、find_all()方法
soup.find_all('div',"item") #查找div标签,class="item"
2、find()方法
find()方法与find_all()方法类似,只是find_all()方法返回的是文档中符合条件的所有tag,是一个集合,find()方法返回的一个Tag
3、selector()方法
soup.selector(div.item > a > h1) 从大到小,提取需要的信息,可以通过浏览器复制得到。
Lxml库
Lxml库是基于libxm12这一个XML解析库的Python封装。该模块使用C语言编写,解析速度比Bs4要快,具体方法后面会讲到,这里不详细说明。