【发布时间】:2019-01-18 17:08:57
【问题描述】:
我正在尝试使用 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,即使该 div 在网站上存在且具有正确的 ID。是不是我做错了什么?
我在页面上看到了 id 为 main 的 div:
当我打印soup时,我也找到了div main:
【问题讨论】:
-
尝试打印变量
soup并在其中搜索您想要的div...可能您找不到它。如果是这种情况,那是因为页面的内容是动态生成的...尝试使用selenium -
如果我打印
soup我可以看到带有 main 的 div。 -
我自己试过了...我找不到
<div id="main"...请再试一次!! -
@Anwarvic 在 chrome 中打开 devtools,使用 xpath 搜索工具,
//div[@id="main"] -
对于亲密的选民,我将复制 OPs 问题。 @Fang 似乎
html.parser正在剥离该标签的id属性。将html.parser更改为lxml或html5lib对我有用
标签: python beautifulsoup