当前位置: 代码迷 >> 综合 >> python 爬虫:BeautifulSoup(bs4) 找不到对应的元素
  详细解决方案

python 爬虫:BeautifulSoup(bs4) 找不到对应的元素

热度:36   发布时间:2023-12-14 22:42:11.0
import re
import urllib.parse
from bs4 import BeautifulSoupsoup  = BeautifulSoup(html_cont,'html.parser')readList = soup.find_all('div',id="post_next_prev")

如上代码: 右键审查网页元素时,很明显的能找到 id 为post_next_prev的div, 可以通过BeautifulSoup就是找不到,最后把网页内容:html_cont输出来,进行查找,发现内容中真的没有这个id。

原因:应该是这个Id的代码是动态生成的,在通过URL去加载页面数据时,此id还不存在于页面中. 所以不是代码问题,在动态页面中,所显示的内容往往不是通过HTML页面呈现的,而是通过调用js等方式从数据库中得到数据,回显到网页上。
js根据场景提供不同的变量,“填入”到文字模板中,形成了一个具体的网页。所以单纯抓HTML,只能得到一些文字模板,而无法得到具体内容。

转自:
python 爬虫:BeautifulSoup 找不到对应的元素
Python 抓取动态网页内容方案详解