我在上面搜索了很多,但大多数答案都无法解决我的问题:
我想刮的是:
我面临的问题是:
此外,当我尝试抓取时,我只能检索到一个视频。我不知道为什么bs4没有检测到其他视频标签。我假设这与Javascript加载的页面有关。但是,即使使用下面的代码,使用Selenium,我仍然无法获得正确数量的视频和图像
这是我尝试过的代码:
driver = webdriver.Chrome()
driver.get("https://www.kickstarter.com/projects/evolutionwear/fast-solar-charging-that-fits-in-your-pocket/?ref=kicktraq")
res = driver.execute_script('return document.documentElement.outerHTML')
soup = BeautifulSoup(res, 'html.parser')
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
c=1
for vidL in soup.find_all("div", {'class': 'play_button_container absolute-center has_played_hide'}):
print(vidL)
print(c)
c+=1
由于数据是由javascripts呈现的,所以在使用BeautifulSoup之前需要等待元素可见
代码:
控制台上的输出:
要打印视频的数量,您需要为
visibility_of_all_elements_located()
导入WebDriverWait,您可以使用以下任一Locator Strategies:使用
CSS_SELECTOR
:使用
XPATH
:控制台输出:
相关问题 更多 >
编程相关推荐