Python3爬虫2:urllib3 lxml

在之前的博客中我们介绍了一个利用urllib和beautifulsoup来爬虫的简单的例子。

https://blog.csdn.net/leo_luo1/article/details/79016668

这篇文章将介绍一下利用urllib3和lxml来爬虫的例子。

import urllib3
from xlml import etree
http = urllib3.PoolManager()
r = http.request('GET','http://www.mafengwo.cn') #发送一个HTTP请求
r.status    #查看请求的返回状态
html_page = r.data       #请求返回的数据 
html = etree.HTML(html_page.lower().decode('utf-8'))    #解析HTML
hrefs = html.xpath(u'//a')        #查找a标签
len(hrefs)

一个请求返回的数据就在html中,然后对这个数据进行处理,比如筛选出自己需要的,或者进一步进行搜索。

也可以在请求中加入复杂的请求头。

request_headers = {
        'host': "www.mafengwo.cn",
        'connection': "keep-alive",				
        'cache-control': "no-cache",			#告诉服务器本地没有缓存数据
        'upgrade-insecure-requests': "1",				#自动在加载HTTP资源时替换成HTTPS请求
        'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36",	#定义浏览器的类型
        'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",		#浏览器支持的MIME类型
        'accept-language': "zh-CN,en-US;q=0.8,en;q=0.6"
    }
lxml和beautifulsoup都可以对HTML格式的数据进行整理,但是lxml相比较而言会快一点,使用者根据个人喜好进行选择就好。

你可能感兴趣的:(Python3,Python3)