urllib和urllib2
urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能;
urllib和urllib2 这两个模块并不可以互相替补;
urllib2 可以接受一个Request类的实例来设置URL请求的header,urllib仅可以接受URL。这就意味着你不可以伪装你的User Agent字符串等
urllib提供的urlencode方法用来GET查询字符串的产生,而urllib2没有。这就是为何urllib和urllib2一起使用的的原因。
urllib2拥有很多urllib所没有的特性:
1、urllib不支持缓存,urllib2支持
2、urllib不支持最后修改时间检查,urllib2支持
3,、urllib不支持ETag,urllib2支持
4、urllib不支持压缩,urllib2支持
5、urllib将所有的重定向都当所临时重定向,urllib2支持区分临时重定向和永久重定向。(重定向:通过各种方法将各种网络请求重新定位到其他位置)
反正urllib就是一个基本的http库,而urllib2对http协议的支持更加完善
BeautifulSoup的简介
Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间
简单来说,BeautifulSoup是python的一个库,最主要的功能是从网页抓取数据,官方的解释如下:
BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱、通过解析文档为用户提供需要抓取的数据,因为简单、所以不需要多少代码就可以写出一个完整的应用程序。
BeautifuSoup自动输入文档转换为Unicode编码,输入文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时BeautifulSoup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
BeautifulSoup已成为和lxml、html6lib一样出色的python解释器、为用户灵活地提供不同的解析策略或强劲的速度
python的正则表达式re模块
正则表达式是一个小巧的,高度专业化的编程语言,它内嵌于python的开发语言中,可通过re模块使用,
正则表达式使用单个字符来描述、匹配一系列符合某个句法规则的字符串。
Requests模块
Requests使用的是urllib3,因此继承了它的所有的特性。Requests支持HTTP连接保持和连接池。支持cookie保护会话,支持文件上传,支持自动确定响应内容的编码。
本文出自 “路小疯的疯人院” 博客,请务必保留此出处http://adonislxf.blog.51cto.com/11770740/1886173
原文地址:http://adonislxf.blog.51cto.com/11770740/1886173