1

我试图从汽车博客Jalopnik上获得一些评论。它最初没有随网页一起提供,而是使用一些 Javascript 检索评论。您只会获得精选评论。我需要所有评论,所以我会点击“全部”(在“精选”和“开始新讨论”之间)并获取它们。

为了自动化这个,我尝试学习 Selenium。我从 Pypi 修改了他们的脚本,猜测点击链接的代码是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()
4

1 回答 1

1

使用带有 Firebug 插件的 Firefox,我浏览到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 替换为该 url,您应该能够在没有 Selenium 的情况下自动化该过程。

于 2012-06-13T16:43:56.290 回答