【发布时间】:2022-12-17 22:02:25
【问题描述】:
我正在尝试使用 BeautifulSoup 抓取一个网站并编写了以下代码:
import requests
from bs4 import BeautifulSoup
page = requests.get("https://gematsu.com/tag/media-create-sales")
soup = BeautifulSoup(page.text, 'html.parser')
try:
content = soup.find('div', id='main')
print (content)
except:
print ("Exception")
但是,这会返回 NoneType,即使网站上存在具有正确 ID 的 div。我做错了什么吗?
我在页面上看到了带有 id main 的 div:
当我打印soup时,我也找到了div main:
【问题讨论】:
-
尝试打印变量
soup并在其中搜索您想要的 div ... 可能找不到。如果是这样,那是因为页面的内容是动态生成的...尝试使用selenium -
如果我打印
soup,我可以看到带有 main 的 div。 -
我自己试过了...找不到
<div id="main"...请再试一次!! -
@Anwarvic 在chrome中打开devtools,使用xpath搜索工具,
//div[@id="main"] -
对于亲密的选民,我即将复制 OP 问题。 @Fang
html.parser似乎正在剥离该标签的id属性。将html.parser更改为lxml或html5lib对我有用
标签: python beautifulsoup