爬虫的伪装,数据乱码的解决

简介: # 引言今天给大家带来第二篇爬虫的文章,主要给大家从爬虫的伪装,数据乱码和视频的爬取三个方面来学习python爬虫# 爬虫的伪装这里分别从### **浏览器伪装****访问地址伪装****3.ip地址伪装****4.控制访问速率****5.伪装用户cookie****6.被拒绝连接的处理**六个方面来讲解爬虫的伪装## **浏览器伪装**默认的爬虫是形如Python-[urllib](https://so.csdn.net/so/search?q=urllib&spm=1001.2101.3001.7020)/2.1的形式的,很多网站可能会在校验

引言

今天给大家带来第二篇爬虫的文章,主要给大家从爬虫的伪装,数据乱码和视频的爬取三个方面来学习python爬虫

爬虫的伪装

这里分别从###

浏览器伪装

访问地址伪装

3.ip地址伪装

4.控制访问速率

5.伪装用户cookie

6.被拒绝连接的处理

六个方面来讲解爬虫的伪装

浏览器伪装

默认的爬虫是形如Python-urllib/2.1的形式的,很多网站可能会在校验上发现我们,然后拒绝我们的请求。

所以我们可以通过浏览器的伪装来替换默认的

我们这里在浏览器中打开开发者工具,找到User-Agent这一栏

将其全部复制下来,然后我们初始化一个字典的对象,然后封装我们的User-Agent,完成伪装

(PS:我们python字典中存储的是键值对,直接将User-Agent那一栏粘贴进去,会报错,因为这是我们未定义的对象,但是其实只是字符串,所以我们要用引号分别囊括两部分,即:键和值。)

接下来我们在请求函数中使用这个字典

result = requests.get(url=url,hearders=headers).text

完成第一部分的伪装

访问地址伪装

访问地址指的是headers头部中的reffer信息,我们可以加入“reffer”信息伪装访问地址,将其封装到字典里并使用,完成封装

3.ip地址伪装

反爬虫检测到某个IP的访问次数很多,或者是访问的频率很快,就会封禁这个IP。当我们被封了之后,可以使用代理IP来解决。

4.控制访问速率

这里我们可以控制访问速率,正常人类访问一个网站一般速度上不会太奇怪,所以我们使用爬虫请求的时候,可以控制访问速率,通过延时,来避免被发现

5.伪装用户cookie

很多需要登录的网站,在登陆后会获得一个cookie,所以对于没有cookie的请求服务器往往会拒绝过滤掉我们的请求

6.被拒绝连接的处理

有的服务器会以诡异的请求去拒绝我们的请求,或者是通过一些奇怪的降低用户体验的机制来防止我们爬取他的信息,常见于一些小网站

我们可以通过递归调用自身,检测到异常就递归,反之继续请求其他的信息

数据乱码

有时候我们爬取到的信息可能会出现中文乱码

怎么理解中文乱码?

相当于一个说日语的人说了一句:“八嘎呀陆”,而接收者采用了中文来理解,就是一段不知道什么意思的“乱码”。

针对这个问题,在语言上我们可以采用录制原始音频(不管怎么解读,原始的音频,波动都是一样的)再通过日语来解读

程序也是同理

我们接收到requests的请求后,不直接获取text,而是获取二进制数据,然后再以某一编码去解读。

example:

import requests

url = "https://baike.baidu.com/item/%E7%9C%BC%E9%95%9C%E7%8E%8B%E8%9B%87/538562"

result = requests.get(url=url).text

print(result)

结果:

image.png

乱码的

解决版本:

import requests

url = "https://baike.baidu.com/item/%E7%9C%BC%E9%95%9C%E7%8E%8B%E8%9B%87/538562"

result = requests.get(url=url).content

real = result.decode("UTF-8")

print(real)

image.png

结果如上,我们就完成了乱码问题的解决

相关文章
|
5月前
|
数据采集 NoSQL 关系型数据库
Python爬虫去重策略:增量爬取与历史数据比对
Python爬虫去重策略:增量爬取与历史数据比对
|
3月前
|
数据采集 Web App开发 JavaScript
Python爬虫解析动态网页:从渲染到数据提取
Python爬虫解析动态网页:从渲染到数据提取
|
5月前
|
数据采集 存储 缓存
Python爬虫与代理IP:高效抓取数据的实战指南
在数据驱动的时代,网络爬虫是获取信息的重要工具。本文详解如何用Python结合代理IP抓取数据:从基础概念(爬虫原理与代理作用)到环境搭建(核心库与代理选择),再到实战步骤(单线程、多线程及Scrapy框架应用)。同时探讨反爬策略、数据处理与存储,并强调伦理与法律边界。最后分享性能优化技巧,助您高效抓取公开数据,实现技术与伦理的平衡。
217 4
|
5月前
|
数据采集 Web App开发 iOS开发
Python 爬虫如何伪装 Referer?从随机生成到动态匹配
Python 爬虫如何伪装 Referer?从随机生成到动态匹配
|
11月前
|
数据采集 API 数据处理
Objective-C 音频爬虫:实时接收数据的 didReceiveData: 方法
Objective-C 音频爬虫:实时接收数据的 didReceiveData: 方法
|
5月前
|
数据采集 搜索推荐 API
Python 原生爬虫教程:京东商品列表页面数据API
京东商品列表API是电商大数据分析的重要工具,支持开发者、商家和研究人员获取京东平台商品数据。通过关键词搜索、分类筛选、价格区间等条件,可返回多维度商品信息(如名称、价格、销量等),适用于市场调研与推荐系统开发。本文介绍其功能并提供Python请求示例。接口采用HTTP GET/POST方式,支持分页、排序等功能,满足多样化数据需求。
|
6月前
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
6月前
|
数据采集 XML 存储
Python爬虫实战:一键采集电商数据,掌握市场动态!
这个爬虫还挺实用,不光能爬电商数据,改改解析规则,啥数据都能爬。写爬虫最重要的是要有耐心,遇到问题别着急,慢慢调试就成。代码写好了,运行起来那叫一个爽,分分钟几千条数据到手。
|
5月前
|
数据采集 API 数据格式
Python 原生爬虫教程:京东商品详情页面数据API
本文介绍京东商品详情API在电商领域的应用价值及功能。该API通过商品ID获取详细信息,如基本信息、价格、库存、描述和用户评价等,支持HTTP请求(GET/POST),返回JSON或XML格式数据。对于商家优化策略、开发者构建应用(如比价网站)以及消费者快速了解商品均有重要意义。研究此API有助于推动电商业务创新与发展。

热门文章

最新文章