Python 官方文档:入门教程 => 点击学习
目录1.IP代理2.Cookie3.异常处理 1.IP代理 某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一
某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一个代理。IP代理的分类:
解决Http
的无状态性,第一次向服务器发送请求时,服务器生成Cookie
作为请求头并储存到浏览器中;浏览器再次发送请求时将携带Cookie信息。
import urllib.request
from http import cookiejar
filename = 'cookie.txt'
#获取Cookie
def get_cookie():
#实例化一个MozillaCookieJar用于存储cookie
cookie = cookiejar.MozillaCookieJar(filename)
#创建handler对象
handler = urllib.request.HTTPCookieProcessor(cookie)
#创建opener对象
opener = urllib.request.build_opener(handler)
#请求网址
url = 'https://tieba.baidu.com/index.html?traceid=#'
resp = opener.open(url) #发送请求
#存储cookie文件
cookie.save()
#读取cookie
def use_cookie():
#实例化MozillaCookieJar
cookie = cookiejar.MozillaCookieJar()
#加载cookie文件
cookie.load(filename)
print(cookie)
get_cookie()
use_cookie()
①urllib.error.URLError:用于捕获由urllib.request产生的异常,使用reason属性返回错误原因
import urllib.request
import urllib.error
url = 'http://www.Google.com'
try:
resp = urllib.request.urlopen(url)
except urllib.error.URLError as e:
print(e.reason)
输出结果:
[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
②urllib.error.HTTPError:用于处理HTTP与HTTPS请求的错误,
有三个属性:
code
:请求返回的状态码reason
:返回错误的原因headers
:请求返回的响应头信息import urllib.request
import urllib.error
url = 'https://movie.douban.com/'
try:
resp = urllib.request.urlopen(url)
except urllib.error.HTTPError as e:
print('原因:',e.reason)
print('响应状态码:',str(e.code))
print('响应头数据:',e.headers)
到此这篇关于python爬虫之网络请求的文章就介绍到这了,更多相关python 网络请求内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Python爬虫之网络请求
本文链接: https://www.lsjlt.com/news/117251.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0