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

1 篇文章 1 订阅
1 篇文章 1 订阅

要爬取信息,最关键的是获取一个正确的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的过程中,有些网站用了缓存,也就是你搜索的东西重复的话,它是不会向服务器请求的,所以有些请求只会出现一次,所以要不断更换参数去请求,总能在一堆请求中找到那个包含了搜索结果的请求信息

  • 19
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值