【发布时间】:2015-07-05 19:34:46
【问题描述】:
我正在研究网络抓取,我只想要来自任何网站的文本,所以我使用Beautiful Soup。最初我发现get_text() 方法也返回JavaScript 代码,所以为了避免我遇到我应该使用extract() 方法但现在我有一个奇怪的问题,在提取script 和style 标记@987654327 之后@ 无法识别它的主体,即使它存在于新的 `html 中。
让我先告诉你我是这样做的
soup = BeautifulSoup(HTMLRawData, 'html.parser')
print(soup.body)
这里print 语句正在打印所有html 数据
但是当我这样做时
soup = BeautifulSoup(rawData, 'html.parser')
for script in soup(["script", "style"]):
script.extract() # rip it out
print(soup.body)
现在它正在打印None,因为元素不存在,但为了调试之后我做了soup.prettify(),然后它打印整个html,包括body标签,也没有script和style标签:( 现在我很困惑为什么它会发生,如果body 存在而不是为什么它说None 请帮助谢谢
我使用的是 Python 3 和 bs4,rawData 是从网站中提取的 html。
【问题讨论】:
标签: python beautifulsoup