javascript - 如何使用selenium和scrapy来爬取某个网页?

标签 javascript python html selenium scrapy

问题是网站中的某些部分无法通过scrapy直接抓取。因此,我需要使用selenium来获取渲染的页面源,以便我可以访问该某些内容。

我尝试过这个:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url)
print(driver.page_source)

我在结果页面源中没有发现某些内容, 虽然我可以通过 driver.find_element_by_css_selector() 获取内容

为什么会出现这种情况? 以及如何使用 selenium 和 scrapy 来爬行某个网站,一个例子是这样的:http://tieba.baidu.com/p/5513911529 ,

我遇到困难的部分如下图,红圈内,我需要其中的文字内容

感谢您的帮助,或者至少给我提供一份可供阅读的文档。

I need the text in the red circle

最佳答案

用户向下滚动后将显示内容。所以你必须使用JS Executor来向下滚动。请参阅下面我的代码。

driver.get('http://tieba.baidu.com/p/5513911529')
SCROLL_PAUSE_TIME = 0.5
SCROLL_LENGTH = 200
page_height = int(driver.execute_script("return document.body.scrollHeight"))
scrollPosition = 0
while scrollPosition < page_height:
    scrollPosition = scrollPosition + SCROLL_LENGTH
    driver.execute_script("window.scrollTo(0, " + str(scrollPosition) + ");")
    time.sleep(SCROLL_PAUSE_TIME)

time.sleep(5)
print(driver.page_source)

关于javascript - 如何使用selenium和scrapy来爬取某个网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367292/

相关文章:

python - boost python sleep wrapper导致整个python程序进入休眠状态

html - &lt;textarea&gt; 带水平线

html - CSS Hack firefox 3.5 及以下?

javascript - 如何改变力布局中d3节点之间的距离

javascript - 表单提交后未设置值

javascript - 查找一组 float div 的高度,就像它是单个 div 一样

javascript - 表标题作为单元格中的标签

python - 当我尝试 're-import' 模块时,为什么会遇到 ImportError?

python - 使用 Python 将文件列表添加到 zip 文件中

javascript - 如何使用 Javascript 验证信用卡到期日期?