gpt4 book ai didi

python - Beautifulsoup 功能在特定场景下无法正常工作

转载 作者:行者123 更新时间:2023-12-01 05:45:55 24 4
gpt4 key购买 nike

我正在尝试使用 urllib2 读取以下网址:http://frcwest.com/然后搜索元重定向的数据。

它读取以下数据:

   <!--?xml version="1.0" encoding="UTF-8"?--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><meta content="0;url= Home.html" http-equiv="refresh"/></head><body></body></html>

将其读入 Beautifulsoup 效果很好。然而,由于某种原因,没有一个功能适用于这个特定的场景,我不明白为什么。 Beautifulsoup 在所有其他场景中都对我很有用。然而,当简单地尝试时:

    soup.findAll('meta')

没有产生任何结果。

我的最终目标是运行:

    soup.find("meta",attrs={"http-equiv":"refresh"})

但是如果:

    soup.findAll('meta')

甚至无法工作,然后我就陷入困境了。任何对这个谜团的煽动将不胜感激,谢谢!

最佳答案

正是注释和文档类型将解析器抛出这里,然后是 BeautifulSoup。

甚至 HTML 标签似乎也“消失”了:

>>> soup.find('html') is None
True

但它仍然存在于可迭代的 .contents 中。您可以通过以下方式再次查找内容:

for elem in soup:
if getattr(elem, 'name', None) == u'html':
soup = elem
break

soup.find_all('meta')

演示:

>>> for elem in soup:
... if getattr(elem, 'name', None) == u'html':
... soup = elem
... break
...
>>> soup.find_all('meta')
[<meta content="0;url= Home.html" http-equiv="refresh"/>]

关于python - Beautifulsoup 功能在特定场景下无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16134384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com