bs4不返回完整的HTML



我正在尝试从使用bs4和请求的网站获得一些信息。

URL是:https://www.element14.com/community/community/design-challenges/in-the-air-design-challenge/blog/2014/10/26/firecracker-analyzer-index

我正在尝试进入一个特定的div:

<div id="jive-comment-tabs" class="j-comment-wrapper" xmlns="http://www.w3.org/1999/html"> ..... </div>

但是,当我使用以下代码时:

import requests
from bs4 import BeautifulSoup

URL = "https://www.element14.com/community/community/design-challenges/in-the-air-design-challenge/blog/2014/10/26/firecracker-analyzer-index"            
page = requests.get(URL)
soup = BeautifulSoup(page.content, "lxml")
print(soup.find('div', {'class': 'j-comment-wrapper'}))

我得到结果,我知道它是在网页上的事实。我在网上尝试了大多数解决方案,但没有一个对我有帮助。什么好主意吗?

发生了什么?

网站是动态提供这些内容的,所以你不会以这种方式获得它。

Alternativ方法尝试使用硒,它会渲染页面,你会得到你的结果。

from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome('YOUR PATH TO CHROMEDRIVER')
driver.get('https://www.element14.com/community/community/design-challenges/in-the-air-design-challenge/blog/2014/10/26/firecracker-analyzer-index')
soup=BeautifulSoup(driver.page_source, 'html.parser')
soup.find('div', {'class': 'j-comment-wrapper'})

相关内容

  • 没有找到相关文章

最新更新