Urllib简介
发送请求
请求头
请求头参考我的另一篇博客:https://blog.csdn.net/LOG_IN_ME/article/details/81940205
IP代理
import urllib.request
url='http://movie.douban.com'
#设置代理ip
proxy_handler=urllib.request.ProxyHandler({
'http':'218.56.132.157:8080',
'https':'183.30.197.29:9797'
})
#必须使用build_opener()函数来创建带有代理ip功能的opener对象
opener=urllib.request.build_opener(proxy_handler)
response=opener.open(url)
#读取返回的内容
html=response.read().decode('utf-8')
#写入txt
f = open('html.txt', 'w', encoding='utf-8')
f.write(html)
f.close()
使用Cookies
import urllib.request
from http import cookiejar
filename='cookie.txt'
#MozillaCookieJar保存cookie
cookie=cookiejar.MozillaCookieJar(filename)
#HTTPCookieProcessor创建cookie处理器
handler=urllib.request.HTTPCookieProcessor(cookie)
#创建自定义opener
opener=urllib.request.build_opener(handler)
#open方法打开网页
response=opener.open('https://movie.douban.com')
#保存cookie文件
cookie.save()
cookie.txt:
import urllib.request
from http import cookiejar
filename='cookie.txt'
#MozillaCookieJar保存cookie
cookie=cookiejar.MozillaCookieJar(filename)
#HTTPCookieProcessor创建cookie处理器
handler=urllib.request.HTTPCookieProcessor(cookie)
#创建自定义opener
opener=urllib.request.build_opener(handler)
#open方法打开网页
response=opener.open('https://movie.douban.com')
#保存cookie文件
cookie.save()
读取结果:
读取和写入的方法很类似,主要区别在于:两者对MozillaCookieJar()对象的操作不同,导致实现功能也不同。
证书验证
数据处理