2012-12-27 43 views
1

我想刮這個網頁上的評論。刮onclick

http://www.tripadvisor.com/Hotel_Review-g294265-d2309275-Reviews-The_Forest_by_Wangz-Singapore.html

在每次審查的唯一問題是「更多」,它加載的OnClick事件更多的文本。

例如:

<span class="taLnk hvrIE6 tr147826763 moreLink" onclick = " ta.util.cookie.setPIDCookie(2247); ta.call('ta.servlet.Reviews.expandReviews', event,this,'review_147826763', '1', 2247)"> 
More </span> 

如何使用報廢LXML/BeautifulSoup完整的評論文章?

+2

頁面使用JavaScript通過AJAX加載額外的信息。使用瀏覽器開發人員工具來確定爲這些鏈接調用哪些URL,然後直接從Python代碼中調用這些鏈接。 –

+0

有時JavaScript不會調用鏈接,而是調用全局對象。在這種情況下,您需要使用基於JavaScript的刮板。我會建議PhantomJS。 – htmldrum

+0

@MartijnPieters謝謝。你能詳細解釋一下嗎? – Robby

回答

1

這可能不是您正在尋找的答案,但我已經開始關注PhantomJS,它爲您提供了一個無腳本,可編寫腳本的webkit瀏覽器。我敢打賭,這是一個比任何阿賈克斯反向工程兔子洞更容易的路徑,你將要下去...

+0

PhantomJS不再提供Python綁定; ['ghost.py'](http://jeanphix.me/Ghost.py/)會做。 –

+0

@Ross M Karchner謝謝。我會嘗試PhantomJS。 – Robby