首页 > 编程语言 >python 爬虫SSL错误是怎么回事?

python 爬虫SSL错误是怎么回事?

时间:2023-04-08 17:32:25浏览次数:32  
标签:ssl python JSON 爬虫 代理 SSL json import

今天摸鱼(划掉)看道一个问题蛮有意思的,想来展开说说:

python 爬虫SSL错误是怎么回事?_JSON

别急,解决办法是有的。

1.这个错误很可能是因为你正在尝试读取一个 JSON 格式的响应,但是实际返回的却是 HTML 格式的响应。

我们检查一下我们的请求是否正确,并且确保请求的 URL 返回的是 JSON 格式的数据。如果确认请求 URL 返回的是 JSON 格式的数据,那么可以使用函数将返回的字节类型数据转换为 JSON 对象。

import json
import urllib.request

response = urllib.request.urlopen(url)
json_str = response.read().decode('utf-8')
json_obj = json.loads(json_str)


2.你用的是标准库ssl模块,那可能确实和前面那位uu说的一样,可能是底层OpenSSL库的问题有关。

解决办法人家也说了,更新一下版本,提醒你一下,如果是使用Linux操作系统,看看484安装了正确版本的OpenSSL库。

这些确认后,问题还是存在,就检查SSL证书的有效性和正确性,看程序有没有正确配置和使用证书。

如果SSL错误是由于证书问题引起的,则可能需要添加以下代码来加载证书:jsonhtml=jsonresponse.read()

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

这将创建一个未经验证的SSL上下文,从而跳过SSL验证过程。

不过这里要说一个,这是一个不安全的解决方案,不应该在生产环境中使用。


3.还有可能,需要换一家HTTP代理了。

python 爬虫SSL错误是怎么回事?_JSON_02

买之前,先测试,这个没有人不知道吧,就不废话了。我们来说说成本问题,要如何在一众海量的HTTP代理厂商中,找到一家物美价优的呢?

稍等,问个度娘,大几千万条信息要筛选。

python 爬虫SSL错误是怎么回事?_JSON_03

别急,我就看前面几家有那么实力投广的,整理了如下:

代表厂商

白名单数

基础套餐


(元/月)

平均IP单价


(元/IP)

青果网络

256

29

0.0006

小象代理

5

109

0.0050

巨量代理

5

155

0.0049

豌豆代理

5

300

0.0025

讯代理

1

210

0.0583

品易代理

20

120

0.0070

芝麻代理

5

360

0.0182

有需要的自取,记得给个赞。

python 爬虫SSL错误是怎么回事?_JSON_04


标签:ssl,python,JSON,爬虫,代理,SSL,json,import
From: https://blog.51cto.com/u_15908682/6177829

相关文章

  • 使用ChatGPT快速实现灰度和RGBA图片转换为RGB三通道图片的Python数据清洗demo
    使用ChatGPT快速实现灰度和RGBA图片转换为RGB三通道图片的Python数据清洗demo任务需求Imganet数据集,由于原始图片有灰度图片、彩色图片和RGBA图片,我们的要求是将灰度图片和RGBA图片通过Image.open(img_path+img_name).convert('RGB')转换为RGB三通道图片重新保存起来。要求点......
  • mac python 安装mysqlclient的问题
    问题1: 无法安装mysqlclient报错信息:   解决方法:1. 安装mysql-clientbrewinstallmysql-client2、配置环境变量vi~/.bash_profileexportPATH=/opt/homebrew/opt/mysql-client/bin:$PATHsource~/.bash_profile3、安装mysqlclientpipinsta......
  • Python 进阶指南(编程轻松进阶):十四、实践项目
    原文:http://inventwithpython.com/beyond/chapter14.html到目前为止,这本书已经教会了你编写可读的Python风格代码的技巧。让我们通过查看两个命令行游戏的源代码来实践这些技术:汉诺塔和四人一排。这些项目很短,并且基于文本,以保持它们的范围较小,但是它们展示了本书到目前为......
  • Python 进阶指南(编程轻松进阶):十七、Python 风格 OOP:属性和魔术方法
    原文:http://inventwithpython.com/beyond/chapter17.html很多语言都有OOP特性,但是Python有一些独特的OOP特性,包括属性和魔术方法。学习如何使用这些Python风格技巧可以帮助您编写简洁易读的代码。属性允许您在每次读取、修改或删除对象的属性时运行一些特定的代码,以......
  • python代码搜集
    以下更新至2023年4月8日,这是日常工作中利用python帮同事们写的一些小工具,帮他们处理大量重复性工作,提高工作效率,解放生产力!里面涉及的账号密码、邮箱、token、key等敏感信息均已改成随机码,不用尝试哦auto_mail.py#帮助丁方硕发送外汇周报邮件的程序,执行后会将一段文本和指定......
  • Python 进阶指南(编程轻松进阶):七、编程术语
    原文:http://inventwithpython.com/beyond/chapter7.html在XKCD漫画《飞人五号》(xkcd.com/1133)中,网络漫画的艺术家兰道尔·门罗只用了1000个最常见的英语单词,就创作出了土星五号火箭的技术示意图。这部漫画把所有的技术术语分解成小孩子能理解的句子。但这也说明了为什么我......
  • python中shutil和shutil库的用法
    一、shutil目录和文件操作Pythonshutil库提供了对文件和目录复制、移动、删除、压缩、解压等操作。1.复制文件或目录shutil.copy(src,dst):复制文件或目录shutil.copyfile(src,dst):复制文件,src和dst只能是文件shutil.copytree(src,dst,dirs_exist_ok=False):复制目录,默......
  • Python 进阶指南(编程轻松进阶):八、常见的 Python 陷阱
    原文:http://inventwithpython.com/beyond/chapter8.html虽然Python是我最喜欢的编程语言,但它也不是没有缺陷。每种语言都有缺点(有些比其他的多),Python也不例外。新的Python程序员必须学会避免一些常见的“陷阱”程序员学习这类知识是随机的,来自经验,但本章把它收集在一个地......
  • Python 进阶指南(编程轻松进阶):九、深奥的 Python 怪现象
    原文:http://inventwithpython.com/beyond/chapter9.html定义编程语言的规则系统是复杂的,并且可能导致代码,尽管没有错,但是非常奇怪和不可预料。这一章深入探讨了更难理解的Python语言的奇特之处。您不太可能在现实世界的编码中遇到这些情况,但是它们是Python语法的有趣用法(......
  • Python 进阶指南(编程轻松进阶):十、编写高效函数
    原文:http://inventwithpython.com/beyond/chapter10.html函数就像程序中的迷你程序,允许我们将代码分解成更小的单元。这使我们不必编写重复的代码,因为重复的代码会引入错误。但是编写有效的函数需要做出许多关于命名、大小、参数和复杂性的决定。这一章探索了我们编写函数的......