我试图从汽车博客Jalopnik上获得一些评论。最初没有网页,而是通过一些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 :(得分:1)
将Firefox与Firebug插件一起使用,我浏览了http://jalopnik.com/5912009/prius-driver-beat-up-after-taking-out-two-bikers
。
然后我打开Firebug控制台并点击ALL;它有义务向http://jalopnik.com/index.php?op=threadlist&post_id=5912009&mode=all&page=0&repliesmode=hide&nouser=true&selected_thread=null
在新窗口中打开该网址会获取您正在寻找的评论Feed。
更一般地说,如果您将相应的文章ID替换为该URL,您应该能够在没有Selenium的情况下自动执行该过程。