【发布时间】:2017-09-27 03:37:55
【问题描述】:
我需要一条推文的所有回复/cmets。相关的question 有一个答案,需要下载太多数据,然后在交叉匹配后丢弃它们,由于速率限制,这对我来说是不可能的。 我试图通过首先使用 python 加载推文url 来抓取页面。为了滚动页面,我尝试使用 selenium web 驱动程序。但我仍然只在第一页得到回复。由于某种原因,滚动不起作用。我尝试了这些1、2、3、4 方法,但在这种情况下都没有。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox()
driver.get("https://twitter.com/neiltyson/status/912299342559694848")
for in xrange(10):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
print('height:{}'.format(driver.execute_script("return document.body.scrollHeight")))
time.sleep(3)
我注意到,高度在第一次迭代后没有改变。
【问题讨论】:
-
是分页还是无限滚动?你能分享一个关于你的具体问题的最小、完整和可验证的例子吗?
-
@ivan7707,我尝试按照另一个 SO 问题中的建议无限滚动,但它永远不会完成!滚动重复次数不同,我得到相同的结果。我猜滚动不起作用,因为 cmets 已加载到页面的另一个正文中?
-
感谢您更新问题。请参阅下面的答案。
标签: python selenium-webdriver twitter web-scraping