我可以采取什么一般方法来解析网站的内容?

时间:2012-03-14 01:56:17

标签: web web-scraping

说别人有一个由JavaScript生成的网站,所以我不能去查看源代码并阅读屏幕上的内容。如何抓取屏幕上的文字以便将其输入另一个程序?另外,如何编写一个程序,自动点击满足特定标准的单选按钮,链接等?

3 个答案:

答案 0 :(得分:1)

您可以使用Perl或Python编写Web抓取工具。或者,您可以使用现有工具和框架来实现这一目标。

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

同时查看Selenium

答案 1 :(得分:1)

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

如果您想要提交数据(实际上不点击元素),就好像它被点击/编辑/选择一样,您也可以使用某些HTTP库发送包含服务器所期望的相同数据的请求,例如{{ 3}}。请参阅CURL

答案 2 :(得分:1)

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

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

您基本上需要的是可以从程序控制的Web浏览器。您需要能够告诉它浏览页面,单击按钮和链接等,然后您需要回读生成的DOM。

只需然后就需要解析页面。

如果您在Microsoft世界中,则可以使用WebBrowser控件。有几种形式,它们都是相同的:你可以让Internet Explorer在你的程序中运行 ,你的程序可以控制它。

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