请求获取网页信息类工具:urllib,urllib3,requests
注:在python2.x里面有urllib和urllib2;在python3.x里面就把urllib和urllib2合成一个urllib;urllib3是在python3.x了里面新增的第三方扩展.Requests它会比urllib更加方便,可以节约我们大量的工作。(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。
基本用法:
import requests
res=requests.get('http://www.julongyoule.cn') #获取,返回一个http请求response
res.encoding='utf-8' #可以指定编码,不然中文会乱码
res.text #取得http相应的html代码
解析网页数据工具:beautifulsoup,etree,Selecter等。(个人掌握etree和beautifulsoup就ok了)
etree基本用法:(配合xpath)
from lxml import etree
etree.HTML(res.text).xpath('//a/@href')
#返回一个列表,注意解析的必须是html代码,requests返回的response的text
beautifulsoup基本用法(利用css选择方式select):
from bs4 import Beautifulsoup
soup=Beautifulsoup(res.text,'lxml') #注意解析的必须是html代码,requests返回的response的text
a_list=soup.select('a') #返回的是一个列表 必须在for循环中使用a['href']才能取得链接
Selecter基本用法(scrapy框架所使用的解析器):
from parsel import Selecter
sel_list=Selector(text=res.text).xpath('//a/@href').extract() #返回的也是一个列表,注意这里的extract(),与etree的区别