附录1-爬虫的一些技巧

目录

[1 寻找url与显示内容的关系](#1 寻找url与显示内容的关系)

[2 修改请求头](#2 修改请求头)

[3 局部刷新](#3 局部刷新)

[4 阅读返回信息](#4 阅读返回信息)

[5 多尝试页面其他的使用方式](#5 多尝试页面其他的使用方式)

[6 尝试不同类型参数](#6 尝试不同类型参数)

[7 表单类型的post多用data发,接口类型的post多用json发](#7 表单类型的post多用data发,接口类型的post多用json发)

[8 消除degger](#8 消除degger)

[9 你在浏览器上看到的html与你下载下来的html不一定一样](#9 你在浏览器上看到的html与你下载下来的html不一定一样)


1 寻找url与显示内容的关系

比如在百度中,查询字符串wd与你搜索的内容一致

再比如 起点中文网,我随便找了一本小说,它的第一章对应的是 759237818

它的第二章是759237819

我们不难猜出它的第三章就是 759237820 ,但它并不是,不过也八九不离十

2 修改请求头

可以在web调试工具中查看你当前的请求头,然后把请求头尽量贴近你当前的请求头

修改User-Agent的时候不要只使用一个,你就爬的时候近network看一下,有时候你用老的User-Agent是不行的

3 局部刷新

我们以百度翻译为例,首先点击这里清楚所有network记录

然后输入内容,输入内容后发现多了15条新内容,这些内容不是一开始就有的,而是我们做出了一些动作搞出来的

我们筛选出XHR的请求,XHR是ajax请求,这些请求通常会携带内容

我们可以通过请求大致看出来业务逻辑,比如langdetect就是检测你是什么语言,v2transapi就是翻译

我们想获取翻译就点开这个ajax请求,我们从Headers中看到了路由和方法

再看它的参数

再看它的响应,我们找到了翻译的结果

使用Preview看的更清楚些

4 阅读返回信息

于是我们尝试发起依次请求

结果是200,给了一些信息,但是看不懂

我们可以通过在线转换utf-8的网站看一下是什么意思 在线UTF-8编码转换工具-UTF8编码解码在线转换工具

我们不难看出,这个query大致对应的是字符 我,于是我们先翻译一下,发现确实如此

那么我们就可以按照格式翻译errmsg中的内容了,翻译结果没有给出我们任何有用的信息,所以如果遇到这种情况我们需要考虑别的可能

5 多尝试页面其他的使用方式

上面我们搞的是汉译英,我们此时再尝试英译汉,使用相同的方式我们可以看到路由与方法

传入的参数,这个参数相较于汉译英的参数是简明许多的

请求的结果

我们不妨再用这种方式发送请求试一试

这一次尝试我们拿到了我们想要的信息

6 尝试不同类型参数

我们最初的目的是要搞 汉译英,现在我们搞到了英译汉,我们不妨尝试将 英文参数 换位中文参数

我们可以在响应信息中得到想要的结果

7 表单类型的post多用data发,接口类型的post多用json发

表单类型的post有前端的交互,比如这种

接口类型的post就比如刷新了一下,或者是下拉触底了这种,多用json

8 消除degger

比如 这个网址 https://www.nmpa.gov.cn/ 它搞了很多debugger不让你看调试工具

如果数量小的话,我们可以手动禁止 debugger

之后就没有debugger的问题了

在这个网站上,debugger就好像防水的堤坝,如果把堤坝拔掉,那么水就会灌进来。这里如果给debugger搞掉,那么它就会给你一顿整,像是什么79,67就是用你的机器做一些无意义的运算

最终的结果会导致你CPU使用率飙升

这个时候把有debugger的页签关闭就行了

这种情况如果还想看F12中的network的话,你就需要用快一点的速度看,看完赶紧关。这种爬的难度就高了很多,因为你CPU高会导致你看network的速度变慢。所以这种情况F12的network就用不了了

9 你在浏览器上看到的html与你下载下来的html不一定一样

比如 整套简历-整套简历模板下载

浏览器上的html是

下载下来的html是

你解析的时候按下载下来的html走

相关推荐
小白学大数据2 小时前
构建1688店铺商品数据集:Python爬虫数据采集与格式化实践
开发语言·爬虫·python
AI分享猿3 小时前
免费WAF天花板!雷池WAF护跨境电商:企业级CC攻击防御,Apache无缝适配
爬虫·web安全
雪碧聊技术5 小时前
手刃一个爬虫小案例
爬虫·第一个爬虫案例
野生工程师7 小时前
【Python爬虫基础-1】爬虫开发基础
开发语言·爬虫·python
嫂子的姐夫11 小时前
21-webpack介绍
前端·爬虫·webpack·node.js
Pocker_Spades_A1 天前
Python快速入门专业版(五十四):爬虫基石:HTTP协议全解析(从请求到响应,附Socket模拟请求)
爬虫·python·http
B站计算机毕业设计之家2 天前
Python招聘数据分析可视化系统 Boss直聘数据 selenium爬虫 Flask框架 数据清洗(附源码)✅
爬虫·python·selenium·机器学习·数据分析·flask
傻啦嘿哟2 天前
用Redis实现爬虫URL去重与队列管理:从原理到实战的极简指南
数据库·redis·爬虫
雪碧聊技术2 天前
爬虫是什么?
大数据·爬虫·python·数据分析
小白学大数据2 天前
集成Scrapy与异步库:Scrapy+Playwright自动化爬取动态内容
运维·爬虫·scrapy·自动化