2012-06-13 138 views
1

我想從汽車博客Jalopnik得到一些評論。它最初沒有與網頁一起出現,而是使用一些Javascript來獲取評論。你只能得到特色評論。我需要所有的評論,所以我會點擊「全部」(在「精選」和「開始新的討論」之間)並獲得它們。點擊與Selenium的Firefox的Javascript鏈接

爲了實現這個功能,我試着學習Selenium。我從Pypi修改了their script,猜測點擊鏈接的代碼是link.click()link = broswer.find_element_byxpath(...)。它沒有看起來是按下了「全部」按鈕(顯示所有評論)。

最終我想下載該版本的HTML來解析。

from selenium import webdriver 
from selenium.common.exceptions import NoSuchElementException 
import time 

browser = webdriver.Firefox() # Get local session of firefox 
browser.get("http://jalopnik.com/5912009/prius-driver-beat-up-after-taking-out-two-bikers/") # Load page 
time.sleep(0.2) 

link = browser.find_element_by_xpath("//a[@class='tc cn_showall']") 
link.click() 
browser.save_screenshot('screenie.png') 
browser.close() 
+0

更新我的代碼與Python版本,如果你仍然對它感興趣:) –

回答

1

使用Firefox和Firebug插件,我瀏覽到http://jalopnik.com/5912009/prius-driver-beat-up-after-taking-out-two-bikers

然後我打開Firebug控制檯並單擊ALL;它有意地顯示了一個單一的AJAX呼叫http://jalopnik.com/index.php?op=threadlist&post_id=5912009&mode=all&page=0&repliesmode=hide&nouser=true&selected_thread=null

在新窗口中打開該網址可以獲得您正在尋找的評論源。更一般地說,如果您將相應的文章ID替換爲該網址,那麼您應該能夠在沒有Selenium的情況下自動執行此過程。