Python爬虫之网络请求

 更新时间:2022年04月11日 20:55:05   作者:长得丑就要多读书  
这篇文章主要介绍了Python爬虫之网络请求,文章基于Python展开对网络请求的相关介绍,需要的小伙伴可以参考一下

1.IP代理

某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一个代理。IP代理的分类:

  • ①透明代理:目标网站可以得知使用了代理以及源IP地址,显然这不符合要求;
  • ②匿名代理:目标网站知道使用了代理,但不知道源IP地址;
  • ③高匿代理:最保险的方式,目标网站既不知道使用了代理,也不知道源IP地址。

2.Cookie

解决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()

3.异常处理 

①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 网络请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现删除排序数组中重复项的两种方法示例

    Python实现删除排序数组中重复项的两种方法示例

    这篇文章主要介绍了Python实现删除排序数组中重复项的两种方法,涉及Python数组元素的遍历、判断、删除等相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Python列表与元组的异同详解

    Python列表与元组的异同详解

    这篇文章主要介绍了Python列表与元组的异同详解,“列表(list)与元组(tuple)两种数据类型有哪些区别”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,需要的朋友可以参考下
    2019-07-07
  • Python基础教程(一)——Windows搭建开发Python开发环境

    Python基础教程(一)——Windows搭建开发Python开发环境

    这篇文章主要介绍了Windows如何搭建开发Python开发环境,帮助大家开始学习Python,感兴趣的朋友可以了解下
    2020-07-07
  • python可视化数据分析pyecharts初步尝试

    python可视化数据分析pyecharts初步尝试

    这篇文章主要为大家介绍了python可视化数据分析pyecharts初步尝试,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Python实现投影法分割图像示例(二)

    Python实现投影法分割图像示例(二)

    今天小编就为大家分享一篇Python实现投影法分割图像示例(二),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • pygame仿office的页面切换功能(完整代码)

    pygame仿office的页面切换功能(完整代码)

    本文通过两个版本给大家介绍pygame实现类似office的页面切换功能,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • pandas中df.groupby()方法深入讲解

    pandas中df.groupby()方法深入讲解

    在使用pandas进行数据统计分析时遇到了问题,找了很久才找到解决办法,所以下面这篇文章主要给大家介绍了关于pandas中df.groupby()方法的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python读取ini文件、操作mysql、发送邮件实例

    Python读取ini文件、操作mysql、发送邮件实例

    这篇文章主要介绍了Python读取ini文件、操作mysql、发送邮件实例,本文重点在Mysql操作的讲解上,包含查询、插入、更新和删除操作,需要的朋友可以参考下
    2015-01-01
  • Python创建类的方法及成员访问的相关知识总结

    Python创建类的方法及成员访问的相关知识总结

    今天给大家带来的是关于Python基础的相关知识,文章围绕着Python类的方法及成员访问展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python3 ID3决策树判断申请贷款是否成功的实现代码

    Python3 ID3决策树判断申请贷款是否成功的实现代码

    这篇文章主要介绍了Python3 ID3决策树判断申请贷款是否成功的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论