2014-10-30 58 views

回答

1

我還沒有見過如此強大的解決方案,用於在Python中抓取/索引整個網站,如Scrapy,所以我個人使用Python Scrapy來抓取網站。

但是對於從頁面中抓取數據,在nodejs中有casperjs。這是一個非常酷的解決方案。它也適用於ajax網站,例如角-js頁面。 Python Scrapy無法解析ajax頁面。 因此,爲了抓取一頁或幾頁的數據,我更喜歡使用CasperJs。

Cheerio確實比casperjs更快,但它不適用於ajax頁面,並且它沒有像casperjs這樣的良好代碼結構。所以我更喜歡casperjs,即使你可以使用cheerio包。

咖啡腳本實例:

casper.start 'https://reports.something.com/login', -> 
    this.fill 'form', 
    username: params.username 
    password: params.password 
    , true 

casper.thenOpen queryUrl, {method:'POST', data:queryData}, -> 
    this.click 'input' 

casper.then -> 
    get = (number) => 
    value = this.fetchText("tr[bgcolor= '#AFC5E4'] > td:nth-of-type(#{number})").trim() 
0

萬一你仍然需要一個答案, https://www.npmjs.org/package/scrapy 我從來沒有測試過它,但認爲它可以幫助。 快樂報廢。

+0

該模塊不能被配置。它只返回商家名稱和電話。我發現了一個可能的解決方案,而不像Scrappy那樣。但通過使用Cheerio可以操作頁面。就像使用Jquery一樣。 – user2422940 2014-12-02 17:59:20