1、请求headers处理

我们有时请求服务器时,无论get或post请求,会出现403错误,这是因为服务器拒绝了你的访问,这时我们可以通过模拟浏览器的头部信息进行访问,这样就可以解决反爬设置的问题。

import requests

# 创建需要爬取网页的地址

url = 'https://www.baidu.com/'

# 创建头部信息

headers = {'User-Agent':'OW64; rv:59.0) Gecko/20100101 Firefox/59.0'}

# 发送网络请求

response = requests.get(url, headers=headers)

# 以字节流形式打印网页源码

print(response.content)

结果:

b'\n\n\n \n \n

2、网络超时问题

在访问一个网页时,如果该网页长时间未响应,系统就会判断该网页超时,而无法打开网页。下面通过代码来模拟一个网络超时的现象。

import requests

# 循环发送请求50次

for a in range(1, 50):

# 捕获异常

try:

# 设置超时为0.5秒

response = requests.get('https://www.baidu.com/', timeout=0.5)

# 打印状态码

print(response.status_code)

# 捕获异常

except Exception as e:

# 打印异常信息

print('异常'+str(e))

结果:

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

以上代码中,模拟进行了50次循环请求,设置超时时间为0.5秒,在0.5秒内服务器未作出相应视为超时,程序会将超时信息打印在控制台中。

说起网络异常信息,requests模块同样提供了三种常见的网络异常类,示例代码如下:

import requests

# 导入requests.exceptions模块中的三种异常类

from requests.exceptions import ReadTimeout,HTTPError,RequestException

# 循环发送请求50次

for a in range(1, 50):

# 捕获异常

try:

# 设置超时为0.5秒

response = requests.get('https://www.baidu.com/', timeout=0.5)

# 打印状态码

print(response.status_code)

# 超时异常

except ReadTimeout:

print('timeout')

# HTTP异常

except HTTPError:

print('httperror')

# 请求异常

except RequestException:

print('reqerror')

结果:

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

200

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python爬虫网络出错怎么办_Python爬虫headers处理及网络超时问题解决方案相关推荐

  1. python爬虫网络出错怎么办_Python爬虫常见问题

    第一个问题:JS加密如何突破 (1) 熟练掌握Chrome的开发者工具的各个功能,Elements, Network,Source (2) 认真观察,善于思考.Network查看加载流程,找可疑的xh ...

  2. python爬虫网络出错怎么办_python爬虫之headers处理、网络超时问题处理

    1.请求headers处理 我们有时请求服务器时,无论get或post请求,会出现403错误,这是因为服务器拒绝了你的访问,这时我们可以通过模拟浏览器的头部信息进行访问,这样就可以解决反爬设置的问题. ...

  3. python爬虫微博评论图片_python爬虫爬取微博评论

    原标题:python爬虫爬取微博评论 python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手.python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,无 ...

  4. python爬取收费素材_Python爬虫练习:爬取素材网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 在工作中的电子文案.ppt,生活中的新闻.广告,都离不开大量的素材,而素材 ...

  5. python爬取股票评论_Python爬虫股票评论,snowNLP简单分析股民用户情绪

    原标题:Python爬虫股票评论,snowNLP简单分析股民用户情绪 一.背景 股民是网络用户的一大群体,他们的网络情绪在一定程度上反映了该股票的情况,也反映了股市市场的波动情况.作为一只时间充裕的研 ...

  6. python爬虫淘宝登录_python爬虫实现模拟淘宝登录

    就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. python爬虫模拟淘宝登录 小贴士 这个爬虫和搜索引擎的爬虫是有区别的.搜 ...

  7. python爬虫抓取房产_Python爬虫实战(3):安居客房产经纪人信息采集

    1, 引言 Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫.为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: 本实战是上图中的&q ...

  8. python爬虫基础项目教程_Python爬虫开发与项目实战_Python教程

    资源名称:Python爬虫开发与项目实战 内容简介: 随着大数据时代到来,网络信息量也变得更多更大,基于传统搜索引擎的局限性,网络爬虫应运而生,本书从基本的爬虫原理开始讲解,通过介绍Pthyon编程语 ...

  9. python打开网页被禁止_Python爬虫被禁?看看是不是这几个问题

    Python爬虫在网上完成网站的信息采集时,常常出现无缘无故的ip被禁的情况,正爬取呢就没法继续了,造成日常业务也没办法正常进行了,整个人都不好了呢.一部分人完全不清楚被禁的原因,这么简单的就给禁掉了 ...

最新文章

  1. 查看linux主机是否安装宋体码,Linux 安装宋体字体的简单办法
  2. PriorityBlockingQueue详解
  3. IntelliJ IDEA 问题总结之中的一个 —— jar包、assets、maven、git
  4. 华为在线题--计算字符个数
  5. Windows Azure Platform Introduction (2) 云计算的分类和服务层次
  6. 中国金刚石线行业“十四五规划”与未来产销需求预测报告2021-2027年
  7. MySQL安装及可能出现的问题
  8. (最新合集)计算机网络谢希仁第七版 第四章课后答案
  9. spring入门到放弃——spring事务管理
  10. ElasticSearch面试 - es 写入数据的工作原理是什么啊?
  11. 使用剪切板[3]: SetComponent、GetComponent
  12. Hadoop2 自己动手编译Hadoop的eclipse插件
  13. pure-ftpd 配置
  14. hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2
  15. node - 收藏集 - 掘金
  16. z反变换计算机控制,计算机控制4.Z变换.ppt
  17. matlab矩阵最大值最小值均值,Matlab 处理数据—最小值、最大值、均值、方差
  18. 利用opencv剪切图片
  19. Statement cancelled due to timeout or client request 异常的修复【已解决】
  20. 从CAP 到编程语言的猜想

热门文章

  1. java企业考勤,基于jsp的企业员工考勤-JavaEE实现企业员工考勤 - java项目源码
  2. 机器学习和人工智能方法在CADD中的应用
  3. HTC终端4G网络附着问题
  4. vs2012的属性管理器和项目属性的一些问题(opencv+qt+vs2012)
  5. Eclipse+Java+Swing实现电子相册管理系统
  6. 文章云计算的兄弟,雾计算要来了
  7. Forbid consumer 10.100.8.14 access service com.alibaba.dubbo.monitor.MonitorService解决办法
  8. 体检管理系统——ElementUI
  9. springboot+maven/gradle整合swag及生成静态文档
  10. Matlab2022a安装MinGW64编译器把matlab函数转换为c/c++库函数