使用python无限滚动的爬网站点
我一直在进行研究,到目前为止,我已经找到了计划使用它的scrapy的python包,现在,我试图找出什么是使用scrapy无限滚动滚动站点来构建刮板的好方法。深入研究后,我发现有一个名为selenium的程序包,它具有python模块。我有一种感觉,有人已经使用Scrapy和Selenium进行无限滚动来刮取网站。如果有人可以指出一个例子,那就太好了。
回答:
这是对我有用的简短代码:
SCROLL_PAUSE_TIME = 20# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
posts = driver.find_elements_by_class_name("post-text")
for block in posts:
print(block.text)
以上是 使用python无限滚动的爬网站点 的全部内容, 来源链接: utcz.com/qa/419720.html