python学习笔记三--爬虫库

来源:互联网 发布:mac照片管理 编辑:程序博客网 时间:2024/05/20 06:09
python爬虫常用以下几个库
爬网页内容:urllib,urllib2。
解析网页:beautifulsoup。
用Requests来提交各种类型的请求,支持重定向,cookies等。

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。


BeautifulSoup

这个Python库十分强大,用来处理导航、搜索、修改分析树再好不过了。它自动将输入文档变为Unicode编码,输出文档utf-8文档。常用的2个对象:

1、Tag

Tag常用到name和attrs来获取属性。特殊的tag,BeautifulSoup常用来表示一个文档的全部内容。

2、NavigableString

用.string来获取标签的内容;如:print soup.x.string则获取到x内容。

Comment为特殊的NavigableString,它不会输出注释符号,所有有时需要先判断是否为Comment类型。


Requests

使用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官方文档。




0 0
原创粉丝点击