需求:有这样一个网站:http://www.5er0.com/.网站可以搜索有关电影电视剧有关的信息或者下载链接。现在要输入一个video name,爬到其下载链接。
首先我们打开网站首页:
看到有个搜索框,我们尝试输入战狼并点击搜索,得到结果如下:
既然爬虫我们就要看一下数据是如何请求的,回到首页,审查元素查看搜索框的元素:
看到这是一个post表单。
再看搜索结果页面,显示的url是这样的:
http://www.5er0.com/search.php?mod=portal&searchid=822100&searchsubmit=yes&kw=%D5%BD%C0%C7
别的字段都好理解,唯独这个searchid是个什么东西?
(省略无数实验过程,直接放出结论)
searchid表示这是整个网站的第几次搜索(所有人的搜索次数加一起),比如你前边已经有了100次搜索,那么这次就要传101.假如我们不传101会如何呢?
1 传一个比101 大的数:
显示搜索不存在
2 传一个比101小的数
比如传99,那么结果就是第99次搜索的结果(比如第99次搜索是大话西游)而不管你的关键字kw是什么。
那么显然searchid的获取极为关键。鉴于鄙人前端水平渣的可以,实在不熟悉js那一套理论,于是就动用了抓包工具fiddler4来研究searchid的获取。
首先打开fiddler和网站首页: