爬虫案例(五)

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这个选项卡。

Raw选项卡查看请求详情

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


测试必须选项

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 目录: Python网络爬虫(一)- 入门基础Python网络爬虫(二)- urllib爬虫案例Python网络爬...
    一只写程序的猿阅读 37,375评论 3 49
  • 父亲节,就写写父亲吧。 怎么说呢,父亲在我三十三年人生的前十二年都是挺陌生的,是敬而远之的,中间的十年开始...
    顺藤摸瓜pool阅读 264评论 0 0
  • 有多少人是因为爱而结婚的?又有多少人,是因为到了该结婚的年龄,找了个条件合适的人就把婚结了?到底什么年龄是该结婚...
    洋漾y阅读 355评论 3 1
  • 十一月的南方天气已经让人感到很寒冷,稍稍有回暖的迹象,一场冰冷彻骨的雨就会把温度打回原形。 虽说在冬季常见的天气是...
    说书客阅读 260评论 0 0