繁体   English   中英

网络抓取基于javascript的网站

[英]Webscraping a javascript based website

有很多工具可以在关闭javascript的情况下抓取HTML页面,但是有没有什么工具可以在打开javascript的情况下进行抓取,包括按下作为javascript回调的按钮?

我目前正在尝试抓取一个仅通过javascript调用导航的网站。 所有导致内容的按钮都执行javascript,但看不到href。 我可以对javascript调用进行反向工程(这样做会部分返回HTML),但这将需要一些时间,是否有捷径?

我使用htmlunit ,通常包装在基于Java的脚本语言(如JRuby)中。 HtmlUnit很棒,因为它的JavaScript引擎可以处理所有动态功能,包括后台的AJAX。 使其非常容易刮擦。

您是否尝试过使用scRubyIt 我不确定100%,但是我认为我用它来刮过somo动态网站。

它有一些有用的方法,例如

click_link_and_wait 'Get results', 5

如果您喜欢Java(并希望自动化Internet Explorer),则可以使用Watij 另外,您可以使用Webdriver并自动执行Firefox。 Webdriver也有Python API。

最终,那些不使用Flash或其他嵌入式插件的网站将需要从浏览器向服务器发出HTTP请求。 大多数(如果不是全部)这些请求将在其URI内具有模式。 使用Firebug / LiveHTTPHeaders捕获所有请求,这将使您看到返回的数据。 从那里,您可以构建获取所需数据的方法。

也就是说,当然,他们并没有使用一些令人讨厌的混淆/加密形式来拖慢您的速度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM