爬虫——隐藏的url获取教学

要爬取信息,最关键的是获取一个正确的url,有时候我们在F12看到的请求是不完整的,是掩盖了真实的url后的结果,所以我们一直找不到所需的url,那么如何获取真正的所需url,下面就拿某猪的搜索来做介绍

先打开某猪网站的首页

 

我们想要爬取旅游的信息,那就要通过搜索各个地点,查看其中的月售

 

通过月售信息来判断这个景点在一段时间内的热度

那么用爬虫的第一步是什么:

 获取url

 这里的URL是哪个?

当然是搜索的url,一般搜索的信息都是通过json格式返回,那么我们要找到那个请求是返回json(包含搜索结果)的

F12查看

 

先清空所有请求,然后点击搜索

 

可以看到有一堆数据返回,但是有没有看到我们想要的搜索结果呢?

可以点击一个,然后在右边的请求信息中选择response中查看返回结果

 

然而经过仔细查看,并没有发现有包含了返回结果的请求

啧啧,那么这个请求估计是被隐藏了,看来要启用Fiddler了。

打开Fiddler

 

cls清空所有请求

回到某猪首页

输入“湛江”,搜索

我看到了在chrome没看到的一个请求

打开,选择json查看

果然,是我们要的搜索结果

 

好,继续,这个请求返回结果包含了页数说明,但我们可以看到这个请求地址的参数并没有页数(EX:?page= | ?pagenum=)

很简单 ==>

 

在搜索结果页面拉到最下面

点击第二页(第一页的disable了)

可以看到地址栏的地址直接变了

 

同时看到Fiddler中,我们之前看到的那个请求地址也多了一个pagenum参数

 

那么我们知道搜索地址为host + url,选择地址,copy=>Just Url

 

url = https://travelsearch.fliggy.com/async/queryItemResult.do?searchType=product&keyword=%E6%A2%85%E5%B7%9E&pagenum=2

我们把这个网址拿到浏览器用json-handle插件打开

 

我们可以看到结果很清楚,我们需要拿到的数据就是在auctions中

那么我们修改请求url就可以拿到我们需要的信息了

"https://travelsearch.fliggy.com/async/queryItemResult.do?searchType=product&keyword={}&pagenum={}".format("地点","页码")

 

PS:获取URL的过程中,有些网站用了缓存,也就是你搜索的东西重复的话,它是不会向服务器请求的,所以有些请求只会出现一次,所以要不断更换参数去请求,总能在一堆请求中找到那个包含了搜索结果的请求信息

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页