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

2023-11-18

1、请求headers处理

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

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

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、网络超时问题

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

importrequests#循环发送请求50次

for a in range(1, 50):#捕获异常

try:#设置超时为0.5秒

response = requests.get('https://www.baidu.com/', timeout=0.5)#打印状态码

print(response.status_code)#捕获异常

exceptException 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模块同样提供了三种常见的网络异常类,示例代码如下:

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

from requests.exceptions importReadTimeout,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)#超时异常

exceptReadTimeout:print('timeout')#HTTP异常

exceptHTTPError:print('httperror')#请求异常

exceptRequestException: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

1435484-20200521195854538-2035169797.jpg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python爬虫网络出错怎么办_python爬虫之headers处理、网络超时问题处理 的相关文章

  • 白盒测试用例设计方法学习笔记(二)----基本路径测试法

    转载请注明出处 白盒测试用例设计方法主要分为两种 1 逻辑覆盖法 2 基本路径测试法 本文主要对基本路径测试法的相关进行整理 基本路径测试法 基本路径测试法 是在程序控制流图的基础上通过分析控制构造的环境复杂性导出基本可执行路径的集合 从而
  • Oracle表空间详细介绍

    表空间概述 Oracle的表空间属于Oracle中的存储结构 是一种用于存储数据库对象 如 数据文件 的逻辑空间 是Oracle中信息存储的最大逻辑单元 其下还包含有段 区 数据块等逻辑数据类型 表空间是在数据库中开辟的一个空间 用于存放数
  • 小白入门angular(一)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 操作系统 window 10 IDE webstorm 步骤一 安装nodeJS 链接为https nodejs org en 选择对应的node版本 安装node时会自动
  • Python基础知识第四篇:方法重写+文件处理+异常处理,冒死上传

    Python基础知识第四篇 基础知识第一话 基础知识第二话 基础知识第三话 今天给大家分享的是第四篇 前面几篇我都放在上面了 小伙伴可以自己领取巩固复习 方法重写 Python学习交流Q群 906715085 print 方法重写 codi
  • MATLAB滤波算法和LabVIEW心电图诊断系统

    心电图的生理 我们的目标是构建一个心电图 ECG 它不仅可以自动计算心率 还可以检测其他心脏异常 这需要对 ECG 信号进行更高级的分析 为了实现这一目标 需要完成几个步骤 如下面的流程图所示 在我们详细介绍如何构建 ECG 之前 了解 E
  • Stata学习笔记

    目录 数据的三种类型 在stata中以颜色区分 类型转化 1 destring 红转黑 限于第一种红色 2 tostring 黑转红 3 encode 红转蓝 限于第二种红色 4 label define label value 黑转蓝 5
  • rk3568 nvme硬盘分区,格式化,挂载测试

    前言 环境介绍 1 编译环境 Ubuntu 18 04 5 LTS 2 SDK rk356x linux 3 单板 迅为itop 3568开发板 自制底板 一 查看硬盘 插上硬盘上电 进入系统后通过命令lspci查看nvme硬盘识别情况 r
  • 容灾备份

    欢迎关注 全栈工程师修炼指南 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 涉及 企业运维 网络安全 应用开发 物联网 人工智能 大数据 学习知识 花开堪折直须折 莫待无花空折枝 作者主
  • 使用UE4插件SimpleHTTP的技巧

    UE4插件名 SimpleHTTP 版本 1 1 目录 前置工作 上传资源 下载资源 删除资源 SimpleHTTP源码接口 哈喽大家好 我叫人宅 这节课我们来讲解一下SimpleHTTP使用技巧 该插件目前提供了对web服务器进行上传下载
  • 软件测试的一点心得体会

    在学习软件测试之前 我们先要知道什么是软件测试 只有知道了软件测试是做什么的 我们才能更深入的去理解它 在我的印象里 软件测试就是通过人工或者自动化的方式对软件进行检测 并发现软件的缺陷的一个过程 而软件测试工程师就相当于质检员的角色 在软
  • 深度学习:Keras入门(一)之基础篇

    1 关于Keras 1 简介 Keras是由纯python编写的基于theano tensorflow的深度学习框架 Keras是一个高层神经网络API 支持快速实验 能够把你的idea迅速转换为结果 如果有如下需求 可以优先选择Keras
  • python 指定值的位置_python数组查找某个值的位置

    python如何返回数组中某值在数组的位置 python3里这样 gt gt gt a 1 2 3 gt gt gt b 2 gt gt gt b in a True 先判定b在a里 gt gt gt a index b 1 b在a的位置1
  • RKNPU2通用API和零拷贝API

    RKNPU2通用API 通用API接口按照异构编程规范 需要将数据拷贝到NPU运行时的内存空间 通用API部署流程 初始化上下文 需要先创建上下文对象和读取模型文件 rknn context ctx model load model mod
  • 微信小程序商城--隐私协议--模板参考

    本隐私政策与您所使用的XX 替换成软件名称 服务以及该服务所包括的各种业务功能 以下统称 我们的产品与 或服务 息息相关 希望您在使用我们的产品与 或服务前仔细阅读并确认您已经充分理解本隐私政策所写明的内容 并让您可以按照本隐私政策的指引做
  • Poi模板技术

    Poi模板技术导入导出Excel 在我们的工作中 也经常会用到Poi模板技术操作Excel文件数据 而且不同的应用场景对Excel表格的单元格格式和合并操作都需要写大量的代码调试 比较麻烦 通过模板技术将自定义格式的Excel文件模板存放在
  • 【云原生之Docker实战】使用docker部署PicUploader图床工具

    云原生之Docker实战 使用docker部署PicUploader图床工具 一 PicUploader介绍 1 PicUploader介绍 2 PicUploader特点 二 检查本地系统环境 1 检查系统版本 2 检查系统内核版本 三
  • 对聊天室的优化&常用参数配置

    优化处1 编码和解码 编码解码用的是JDK 对象与数组的转换 这种虽然简单 但是效率不高 现在需要支持更多的序列化算法 就需要改进 抽取一个接口 Serializer 用以支持 序列化和 反序列化 package com zhao prot
  • educoder答案-Python编程训练-顺序与选择结构-太原理工大学

    太原理工大学 educoder实训平台答案 Python编程基础 持续更新 以下均为太原理工大学廖丽娟老师的实训项目内容答案 各位校友自取 第一关 顺序结构 changeOne int input changeTwo int input p

随机推荐