BeautifulSoup无法读取请求获得的“完整” HTML

时间:2019-02-07 07:45:39

标签: html python-3.x web-scraping beautifulsoup

我正在尝试使用BeautifulSoup从呈现为HTML的网站上抓取URL并请求库。我都在Python 3.5上运行它们。似乎我已成功从请求中获取HTML,因为当我显示r.content时,会显示我要抓取的网站的完整HTML。但是,当我将其传递给BeautifulSoup时,BeautifulSoup会删除大部分HTML,包括我要抓取的URL。

from bs4 import BeautifulSoup
import requests

page = requests.get('www.example.com')
soup = BeautifulSoup(page.content, 'html.parser')

print(soup.findAll('div'))

我已经尝试使用html5lib,lxml等其他解析器,但未成功。

但是,输出结果并未显示网站HTML代码中的所有“ div”。

这是the link网站。

我想从“ h1.post-title”中抓取网址。

1 个答案:

答案 0 :(得分:0)

这是因为您要抓取的页面是动态的。这意味着其内容是使用JavaScript生成的,并且需要花费一些时间才能完全呈现(最初不是静态呈现)。

您应该使用SeleniumPuppeteer之类的东西加载页面,等待页面完全呈现,然后抓取您要提取的内容。