2016-08-23 62 views
0

我使用紅寶石下載使用百頭巨怪一個完整的網頁,但它僅下載HTML,是否有可能使用typhoeus而不是僅在Ruby下載完整的網頁?

request = Typhoeus::Request.new(
      "www.example.com", 
      method: :get, 
      headers: { Accept: "text/html" } 
    ) 

response.body只返回HTML,我可以添加任意格式下載其數據,該數據是完整的網頁通過JavaScript加載?或者有沒有其他的方式來獲取數據?

+1

通常你'負責使用[Nokogiri](http://nokogiri.org)之類的東西解析HTML,然後在事實之後獲取任何你想要的資源。值得注意的是,'wget'工具有一個'-m'選項,遞歸的蜘蛛和下載一切,如果你需要一個快速和骯髒的解決方案。 – tadman

+0

通過nokogiri,我用open,但它也得到了html,因爲我試圖解析的網頁是通過javascript加載它的數據。 – dips

+1

JavaScript與這裏的任何內容有什麼關係? Nokogiri再一次是一個HTML解析器。這不是一個網站下載。如果你需要JavaScript來實現這個功能,你需要使用[無頭瀏覽器](https://www.ruby-toolbox.com/categories/browser_testing),祝你好運。 – tadman

回答

0

這不能在一個請求中完成。您需要解析HTML找到所有需要的圖像,並下載他們

取決於你用這個做什麼,你可能需要做其他資產一樣在頁面上(如CSS)

+0

我需要從通過JavaScript加載的網頁獲取內容,如何解析以獲取通過JavaScript加載的數據? – dips