python爬虫常用以下几个库
urllib中常用:
1、urlopen打开一个url,并如同文件操作一样对url操作
内提供方法:
read() , readline() ,readlines() , fileno() , close() ;
info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
;getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
;geturl():返回请求的url 。
2、urlretrieve
(url[,filename[,reporthook[,data]]])
打开一个url并存入本地html文件,若没有filename则为临时缓存文件。它将返回二元数组(filename,mine_mine_hdrs),必须配合urlcleanup使用,清除掉urlretrieve所产生的缓存。
3、urlencode(query)
将url中的键值对以&划分,提供post,get方法。
urllib2和urllib差不多
1、它里面没有urlencode方法
2、多出一个request类来设置url的headers。
3、没有urllib的http PUT和DELETE方法。
4、它会默认使用环境变量proxy来设置HTTP Proxy,自动处理Redirect和Cookie。
这个Python库十分强大,用来处理导航、搜索、修改分析树再好不过了。它自动将输入文档变为Unicode编码,输出文档utf-8文档。常用的2个对象:
1、Tag
Tag常用到name和attrs来获取属性。特殊的tag,BeautifulSoup常用来表示一个文档的全部内容。
2、NavigableString
用.string来获取标签的内容;如:print soup.x.string则获取到x内容。
Comment为特殊的NavigableString,它不会输出注释符号,所有有时需要先判断是否为Comment类型。
使用requests发送网络请求十分的方便。常用get,post,put,options,head,delete等。
十分好用的方法:
1、encoding()处理编码;
2、json()处理json文件(不解释的好);
3、requests.get(url,stream=True)获取服务器原始套接字响应;
4、headers获取服务器响应头
5、get(url,timeout())设置超时。
更多请看python官方文档。