2012-03-11 98 views
0

頁面是: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") 

它返回[]空。它返回什麼'[]'?

+0

您可以顯示多一點點你的代碼?你如何檢索URL的內容?如果您嘗試在HTML中查找字符串(不使用BeautifulSoup),它在那裏? – 2012-03-11 03:56:58

回答

1

據我所看到的,<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,'

0

使用字典來存儲屬性:

soup.findAll('a', { 
    'href': "http://item.taobao.com/item.htm?id=13015989524" 
})