爬虫 — 内容乱码与证书不信任网站

目录

一、内容乱码

如果出现乱码,设置编码,编码格式跟网页源码当中 charset 的编码是一样的。

python 复制代码
# 需求:爬取表情包网站源码:https://qq.yh31.com/zjbq/2920180.html

# 导入模块
import requests

# 确定 url
url = 'https://qq.yh31.com/zjbq/2920180.html'

# 请求头
head = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'
}

# 开始请求
html = requests.get(url, headers=head)

# 出现乱码 去源码当中找 charset
html.encoding = 'utf-8'  # 如果源码中是 gbk,就写 gbk

# 打印数据
print(html.text) 

二、处理不信任的证书

SSL 证书 遵守了 SSL 协议,在应用层。是由信任的数字证书颁发机构验证身份之后颁发的证书,同时具有服务器身份验证和数据传输加密功能。

一般由专门的机构颁发的,也有的网站不希望别人爬取,会自己制作证书的,但是这种情况下,一般用户访问时需要手动安装证书。

python 复制代码
# 导入模块
import requests

# 确定 url
url = 'https://inv-veri.chinatax.gov.cn/'

# 请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'
}

# 正常情况下,requests 发请求 ------ 会主动检测证书
# 发请求的时候,不检测这个 ssl 证书 verify=False
res = requests.get(url, headers=headers, verify=False)

# 设置编码
res.encoding = 'utf-8'

# 打印数据
print(res.text)

记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~

相关推荐
ㄟ留恋さ寂寞几秒前
JavaScript中箭头函数在大括号省略时的隐式返回机制
jvm·数据库·python
WangN29 分钟前
【SONIC】Isaac Lab 系统入门指南
人工智能·python·机器人·自动驾驶·仿真
2501_9012005318 分钟前
Laravel 大批量数据填充时的内存泄漏与性能优化指南
jvm·数据库·python
APIshop39 分钟前
俄罗斯电商 Ozon 平台:ozon.item_get 商品详情接口深度技术解析
python
m0_740796361 小时前
golang如何实现工作流引擎_golang工作流引擎实现要点
jvm·数据库·python
zhaoyong2221 小时前
CSS如何利用Less构建高度自定义组件_通过样式作用域防止冲突与溢出
jvm·数据库·python
2301_781571421 小时前
Less如何优化CSS文件大小_利用压缩配置去除冗余样式
jvm·数据库·python
2401_867623981 小时前
Next.js 13 中为嵌套客户端组件实现局部加载状态的正确方法
jvm·数据库·python