URL管理器的实现方式分三种
1.python内存。(待爬取url的集合 已爬取url的集合)
2.关系数据库. urls(url ,is_crawled)
3.缓存数据库。 redis set
网页下载器
1. urllib2 (三种方式)
import urllib2
#直接请求
response=urllib2.urlopen('http://www.baidu.com')
#获取状态码,如果是200表示成功
print response.getcode()
#读取内容
cont=response.read()
import urllib2
request=urllib2.Request(url)
#添加数据
request.add_data('a','1')
#添加http的header
request.add_header('user-Agent','Mozilla/5.0')
#发送请求获取结果
response=urllib2,urlopen(request)
添加特殊情境的处理器
HTTPCookieProcessor ,HTTPSHandler .HTTPRedirecth ..ProxyHandler
import urllib2,cookielib
#创建cookie容器
cj=cookielib.CookieJar()
#创建1个opener
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#给urllib2安装opener
urllib2.install_opener(opener)
#使用带有cookie的urllib2访问问题
response=urllib2.urlopen("http://www.baidu.com")
2.requests