python爬虫urllib使用和进阶
上节课已经介绍了爬虫的基本概念和基础内容,接下来就要开始内容的爬取了。
其实爬虫就是浏览器,只不过它是一个特殊的浏览器。爬取网页就是通过HTTP协议访问相应的网页,不过通过浏览器访问往往是人的行为,把这种行为变成使用程序来访问就是爬虫的过程。
用户在使用浏览器的时候,翻阅速度是比较慢的,但是爬虫在访问的时候速度是很快的,它会很快的获取到页面上的内容,并将其变成自己网站的内容,所以对于开发者来讲,对于这些搜索引擎的爬虫是又爱又恨的。
有的网站会设置反爬虫策略来拒绝爬虫对网站内容的爬取要求。此时我们要爬取这种网站的话,是要对程序进行包装的,尽量去模拟人的行为来获取网站内容。
urllib包
urllib是Python提供的一个工具包,用来处理url和相应的一些内容的。
Python 2中提供了urllib和urllib 2。urllib提供较为底层的接口, urllib2对urllib进行了进一步封装。
Python 3中将urllib合并到了urllib 2中, 并只提供了标准库urllib包。我们重点使用的是Python3,但是它们的接口都是相同的,掌握了就可以在任何场景使用。
urllib还有一些子包,分别介绍下:
urllib.request模块(用的比较多)
用于打开和读写url。模块定义了在基本和摘要式身份验证、重定向、cookies等应用中打开URL(主要是HTTP)的函数和类。
- urllib.error 包含了由urllib.request引起的异常
- urllib.parse 用于解析url
- urllib.robot parser 分析robots.txt文件
urlopen方法
格式:url open(url, data=None)
注释:url是链接地址字符串, 或请求对象。
data是提交的数据, 如果data