附录1-爬虫的一些技巧

目录

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

2  修改请求头

3  局部刷新

4  阅读返回信息

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

6  尝试不同类型参数

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

8  消除degger

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


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

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

附录1-爬虫的一些技巧_第1张图片

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

附录1-爬虫的一些技巧_第2张图片

它的第二章是759237819

附录1-爬虫的一些技巧_第3张图片

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

附录1-爬虫的一些技巧_第4张图片

2  修改请求头

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

附录1-爬虫的一些技巧_第5张图片

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

3  局部刷新

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

附录1-爬虫的一些技巧_第6张图片

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

附录1-爬虫的一些技巧_第7张图片

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

附录1-爬虫的一些技巧_第8张图片

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

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

附录1-爬虫的一些技巧_第9张图片

再看它的参数

附录1-爬虫的一些技巧_第10张图片

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

附录1-爬虫的一些技巧_第11张图片

使用Preview看的更清楚些

4  阅读返回信息

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

附录1-爬虫的一些技巧_第12张图片

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

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

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

附录1-爬虫的一些技巧_第13张图片

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

附录1-爬虫的一些技巧_第14张图片

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

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

附录1-爬虫的一些技巧_第15张图片

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

附录1-爬虫的一些技巧_第16张图片

请求的结果

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

附录1-爬虫的一些技巧_第17张图片

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

6  尝试不同类型参数

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

附录1-爬虫的一些技巧_第18张图片

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

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

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

附录1-爬虫的一些技巧_第19张图片

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

8  消除degger

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

附录1-爬虫的一些技巧_第20张图片

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

附录1-爬虫的一些技巧_第21张图片

之后就没有debugger的问题了

附录1-爬虫的一些技巧_第22张图片

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

附录1-爬虫的一些技巧_第23张图片

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

附录1-爬虫的一些技巧_第24张图片

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

附录1-爬虫的一些技巧_第25张图片

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

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

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

浏览器上的html是

附录1-爬虫的一些技巧_第26张图片

下载下来的html是

附录1-爬虫的一些技巧_第27张图片

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

你可能感兴趣的:(爬虫笔记,爬虫)