urllib库---request

urllib库中的request模块主要负责构造和发起网络请求,并在其中添加headers,proxy等,利用它可以模拟浏览器的请求过程

request的请求流程

①发起网络请求

②添加headers

③操作cookies

④使用代理proxy

代码演示:

#导包
from urllib import request
#生成user-agent
from fake_useragent import UserAgent
user_agent = UserAgent()
ua = user_agent.random
#放入请求头
headers ={"user-agent":"ua"}
url = "http://******.com/"
#发起请求
req = request.Request(url,headrs =headers)
#结果返回使用urlopen方法
res = request.urlopen(req)

读取结果

res.read()          #只读一次
res.readline()     #只读一行
res.info()           #获取响应头
res.geturl()        #获取url
res.getcode()     #获取状态码
print(res.read())

操作cookies

#导包
from htttp import cookiejar
#创建cookie对象
coookie = cookiejar.Cookiejar.CookieJar()
#创建cookie处理器
cookie1 = request.HTTPCookieProcessor(cookie)
opener= request.build_opener(cookie1)
res =opener.open(url)
print(res.read())

设置代理

proxy = {"http":"192.168.3.1"}
request.ProxyHandler(proxy)

pase.quote方法

from urllib import parse
url = http://httpbin.org/get?aaa={}
url1 = url.format(parse.quote(爬虫))
print(url1)
#http://httpbin.org/get?aaa=%E7%88%AC%E8%99%AB parse.quote对url进行了编码 # parse.unquote对url解码

robots.txt协议 爬虫违反此协议

urllib库---request

上一篇:JQuery--2


下一篇:ajax异步交互