代码之家  ›  专栏  ›  技术社区  ›  Quibblesome

Webscraping基于javascript的网站

  •  1
  • Quibblesome  · 技术社区  · 15 年前

    有很多工具可以在关闭javascript的情况下清除HTML页面,但是有没有可以在打开javascript的情况下清除的工具,包括按javascript回调按钮?

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

    5 回复  |  直到 15 年前
        1
  •  2
  •   Rob Di Marco    15 年前

    我用 htmlunit 通常以JRube为基础的基于Java的脚本语言。HTMLUnit非常棒,因为它的javascript引擎可以处理所有动态功能,包括Ajax幕后操作。很容易刮伤。

        2
  •  1
  •   Alessandra Pereyra    15 年前

    你试过用吗 scRubyIt ?我不是100%确定,但我想我用它来抓取一些动态网站。

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

    click_link_and_wait 'Get results', 5
    
        3
  •  1
  •   Quentin    15 年前
        4
  •  1
  •   Geo    15 年前

    你可以使用 Watij 如果你进入Java(并且想要自动化Internet Explorer)。或者,您可以使用 Webdriver 也可以自动运行Firefox。WebDriver也有一个python API。

        5
  •  0
  •   squeeks    15 年前

    一天结束时,那些不使用Flash或其他嵌入式插件的网站需要从浏览器向服务器发出HTTP请求。大多数情况下,如果不是所有的请求都在其URI中有模式的话。使用firebug/livehttpheaders捕获所有的请求,这反过来会让您看到返回的数据。从那里,您可以构建获取所需数据的方法。

    当然,也就是说,他们并没有使用一些蹩脚的模糊/加密形式来减慢你的速度。