爬虫案例(五)

1 http://www.gree.com.cn/pczwb/xwzx/index.shtml

1.1 特点分析

        使用的是ajax请求来进行的局部刷新,使用json来进行处理。使用fiddler构造请求一直不成功,服务器有反爬虫机制,增加UA也无法成功,防爬虫做的有些严格。

1.2 解决方案

        打开fiddler,正常浏览页面,点击下一页按钮,在fiddler中查看此次请求,然后点开raw选项卡,看到完整的post请求,全选拷贝,在compose中构造此请求,发现请求成功。

1.3 代码位置

        http://demo.pyspider.org/debug/gree_tk

1.4 值得注意的思路

        这个算是处理比较久的,在实际处理过程中,构造的请求一直不能成功,然后想到直接使用成功的请求来伪造,于是发现了Raw这个选项卡。

爬虫案例(五)_第1张图片
Raw选项卡查看请求详情

        之后一个一个参数进行测试,查看那些参数对这个请求的正常与否有直接关系,得到下图


爬虫案例(五)_第2张图片
测试必须选项

        其中的Accept、Origin、User-Agent、Referer、Accept-Encoding是必须的参数。可以看到未必只有UA会对爬取产生影响,其他参数有些时候价值也很大。

        最后就是关于fetch_type='js'这个参数,对于需要运行js之后才形成的页面很有效,对于请求json这种则千万不能加。有这种想法的原因是对这个不理解,官方文档中也没有详细的解释。

你可能感兴趣的:(爬虫案例(五))