- 帖子
- 59
- 精华
- 0
- 积分
- 244
- 阅读权限
- 30
- 注册时间
- 2015-10-25
- 最后登录
- 2023-10-29
|
本帖最后由 anyone 于 2016-7-20 03:33 编辑
首先感谢crossin一直以来的帮助, 我从连安装python都不会的程度, 到现在已经可以顺利的抓取静态页面的水平, 在这里学到很多.
最近我正在学习如何抓取ajax页面, 一如既往, 遇到了一个瓶颈, 看了很多资料, 到处碰壁, 所以才在这里发帖, 希望crossin能拨冗给我指点一下迷津. 非常感谢.
样例网站:
我想抓取他的图片. 显然, 他使用了异步请求, 并且也有js代码生成, 还有cookies等, 来保护图片信息.
首先, 我排除了python中的浏览器模拟这样的方式, 我觉着这种方式效率太差, 而且也不能从中学到更多. 所以我选择用js分析的方法, 也就是js调试吧?
目前其他的我基本搞定, 也可以通过chrome的inspect工具来获得异步请求地址(
), 由于这个地址是有规律的, 所以我可以在python中生成完整的异步请求地址, 然后获得请求返回的数据, 达到下载的目的.
但是这种方法有很多运气的成分. 所以我想学习一种更加深入/万能的方法: 也就是了解这个页面中的js是如何运行并生成异步请求地址的. 这样我可以在python中模拟这种方式.
我自己尝试了一些方式从页面中调试出来他是如何生成上面这个异步请求地址的, 目前只知道是在chapternew_v2.js(中途还调用了一下jquery-1.4.1.js)中运算了一下, 其中的一个x返回了异步地址的后半部分. 但是js是从哪里获得的数据, 又怎么生成的这个地址, 完全没有头绪. 不知道crossin可否指点一二? 最好有个在chrome中调试的具体步骤, 我实在是chrome调试的白丁, 万分感谢.
帖子中涉及到地址的地方我都用的是图片, 如果看不清点开看大图即可. 这么做也是为了不要有不必要的麻烦. |
|