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

目录

一、内容乱码

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

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

相关推荐
ragnwang4 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go4 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
weixin_307779135 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
云和数据.ChenGuang5 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
荣码8 小时前
长上下文与大文档处理:200页PDF怎么喂给AI,我踩了4个坑
java·python
databook9 小时前
Pandas 与 Polars:语法、性能和资源占用方面的对比
python·数据分析·pandas
威哥爱编程9 小时前
Python 智能体开发实战 10:本地跑得好好的,一并发就崩?把它做成一个能上线的服务
python·agent
威哥爱编程9 小时前
Python 智能体开发实战 09:改了提示词,到底是变好还是变坏?搭一套能打分的离线评测
python·agent
meiying88389 小时前
多快递公司快递单号批量查询接口怎么对接?Python 聚合查询实现
java·大数据·python
Hello_Pyhx9 小时前
Deep-Live-Cam 源码配置思路:环境、模型与执行后端分开排查
python