美丽的汤 - 找不到标签
问题描述:
页面是:http://item.taobao.com/item.htm?id=13015989524
你可以看到它的源代码。美丽的汤 - 找不到标签
在它的源代码下面的代码中存在
<a href="http://item.taobao.com/item.htm?id=13015989524" target="_blank">
但是当我使用BeautifulSoup读取源代码并执行以下
soup.findAll('a', href="http://item.taobao.com/item.htm?id=13015989524")
它返回[]
空。它返回什么'[]'?
答
据我所看到的,<a>
标签你正在努力寻找一个<textarea>
标签内。 BS不会将<textarea>
的内容解析为HTML,因此<textarea>
不应包含HTML。总之,那个页面正在做一些粗略的事情。
如果你真的需要,你可以“欺骗”,并再次解析的<textarea>
的内容,并在其中进行搜索:
import urllib
from BeautifulSoup import BeautifulSoup as BS
soup = BS(urllib.urlopen("http://item.taobao.com/item.htm?id=13015989524"))
a = []
for textarea in soup.findAll("textarea"):
textsoup = BS(textarea.text) # parse the contents as html
a.extend(textsoup.findAll("a", attrs={"href":"http://item.taobao.com/item.htm?id=13015989524"}))
for tag in a:
print tag
# outputs
# <a href="http://item.taobao.com/item.htm?id=13015989524" target="_blank"><img ...
# <a href="http://item.taobao.com/item.htm?id=13015989524" title="901 ...
+0
谢谢有没有标签bs也不解析? – ericyue 2012-03-11 06:52:54
+0
@Moonlight:AFAIK,'
答
使用字典来存储属性:
soup.findAll('a', {
'href': "http://item.taobao.com/item.htm?id=13015989524"
})
您可以显示多一点点你的代码?你如何检索URL的内容?如果您尝试在HTML中查找字符串(不使用BeautifulSoup),它在那里? – 2012-03-11 03:56:58