首页 > Web开发 > 详细

urllib库---request

时间:2020-11-19 22:01:32      阅读:48      评论:0      收藏:0      [点我收藏+]

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

原文:https://www.cnblogs.com/jnian/p/14007760.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!