【问题标题】:Python crawler. Parsing and executing ajaxPython 爬虫。解析和执行ajax
【发布时间】:2012-01-25 18:57:57
【问题描述】:

我为爬虫设置了一个基本结构。现在我在一些 php 驱动的网站上发布了它,它就像一个魅力。虽然现在我想用它从 ajax 内容构建数据表。

目前我正在使用 Mechanize for PYTHON 和 perl 来构建我的爬虫。虽然 Mechanize 模块不执行 AJAX。我如何获得由异步 ajax 构建的内容?

我知道有一种叫做 Selenium 的东西,一个真正的自动化浏览器。但这是我唯一的选择吗?

【问题讨论】:

    标签: python ajax web-scraping web-crawler


    【解决方案1】:

    你可以运行一个无头浏览器,例如phantomjs,它可以理解 JavaScript、DOM 等,但你必须用 Javascript 编写代码,好处是你可以做任何你想做的事情。

    除了messy之外还有另一种方法。

    您可以观察单击按钮时发出的请求(使用 Firefox 中的 Firebug 或 Chrome 中的开发者工具)。比尝试对页面后面运行的 javascript 进行逆向工程,并尝试使用您的 python 代码做类似的事情,看看Spidermonkey

    【讨论】:

    • 难道我不知道为什么要取出实际的 javascript(s) 并将其发送给某个执行程序或处理程序。完成所有请求并为我提供输出?或者那是我应该使用蜘蛛猴的原因吗?感谢您的回复
    • spidermonkey 模块允许在 Python 中实现 Javascript 类、对象和函数,以及 evaluation 和调用 Javascript 脚本和函数。