我正在尝试使用urllib2: http://frcwest.com/阅读以下url,然后搜索元重定向的数据。
在
中读取以下数据: <!--?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中就可以了。然而,由于某些原因,没有一个功能适用于这个特定的恶作剧,我不明白为什么。美丽的汤在所有其他情况下对我都很有效。然而,当简单地尝试:
soup.findAll('meta')
没有结果。
我的最终目标是跑步:
soup.find("meta",attrs={"http-equiv":"refresh"})
但如果:
soup.findAll('meta')
甚至不能工作,那么我就卡住了。任何对这个谜的煽动都将受到赞赏,谢谢!
是注释和doctype在这里抛出解析器,然后是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"/>]