我可以采取什么样的通用方法来解析网站的内容



假设别人有一个由JavaScript生成的网站,所以我不能去查看源代码并阅读屏幕上应该显示的内容。如何获取屏幕上的文本,以便将其输入到另一个程序中?此外,我如何编写一个程序,自动点击单选按钮,链接等,以满足某些标准?

您可以用Perl或Python编写一个web抓取工具。或者,您可以使用现有的工具和框架来实现这一点。

看看Scrapy,一个用Python编写的开源工具。

再来看看硒。

要解析动态内容,您可以查看javascript源,并以与网页相同的方式获取相同的内容。(即复制ajax调用等)

如果你想像点击/编辑/选择数据一样提交数据(而不是实际点击元素),你也可以通过使用一些HTTP库(如CURL)发送一个包含服务器期望的相同数据的请求。请参阅此处的示例。

如果您需要处理脚本生成的内容,那么您的第一个问题就是导致脚本执行。此外,脚本将希望将内容生成到DOM中。这意味着您需要一个DOM和一个脚本引擎,可能还有对Internet的HTTP访问和XML处理等。

如果这听起来很像网络浏览器,那么你在听。

你基本上需要的是一个可以通过程序控制的网络浏览器。您需要能够告诉它浏览到页面、单击按钮和链接等,然后您需要读回生成的DOM。

只有,然后才需要解析页面。

如果你在微软的世界里,那么你可以使用WebBrowser控件。这有几种形式,它们都相当于同一件事:你可以让Internet Explorer在你的程序的内部运行,你的程序可以控制它

我知道还有其他浏览器可以通过程序控制,但由于我不知道它们的详细信息,我会等待其他人告诉我们这两个。

最新更新