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

目录

一、内容乱码

如果出现乱码,设置编码,编码格式跟网页源码当中 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)

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

相关推荐
悟空爬虫1 小时前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派2 小时前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风3 小时前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python
曲幽13 小时前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic
用户83562907805117 小时前
Python 实现 PowerPoint 形状动画设置
后端·python
ponponon19 小时前
时代的眼泪,nameko 和 eventlet 停止维护后的项目自救,升级和替代之路
python
Flittly19 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(5)Skills (技能加载)
python·agent
敏编程19 小时前
一天一个Python库:pyarrow - 大规模数据处理的利器
python
Flittly21 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(4)Subagents (子智能体)
python·agent
明月_清风1 天前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python