2011-08-25 217 views
5

我使用此代碼來獲得存取權限到我的鏈接提取HREF:與美麗的湯

links = soup.find("span", { "class" : "hsmall" }) 
links.findNextSiblings('a') 
for link in links: 
    print link['href'] 
    print link.string 

鏈接沒有ID或類或什麼的,它只是一個href屬性的經典鏈接。

我的劇本的反應是:

print link['href'] 
TypeError: string indices must be integers 

你能不能幫我弄href的值? Thx!

回答

3

好了,它現在可以與下面的代碼:

linkSpan = soup.find("span", { "class" : "hsmall" }) 
link = [tag.attrMap['href'] for tag in linkSpan.findAll('a', {'href': True})] 
for lien in link: 
    print "LINK = " + lien` 
8

鏈接仍指您的soup.find。所以,你可以這樣做:

links = soup.find("span", { "class" : "hsmall" }).findNextSiblings('a') 
for link in links: 
    print link['href'] 
    print link.string 
+0

克里斯您好,感謝您的回答。我用你的代碼試過了:這次我沒有錯誤,但對於href總是沒有任何價值。我不明白爲什麼。我會嘗試另一種方式,我想.. – Koolen

+0

好吧,它現在的工作與另一個代碼。 – Koolen

+0

@Koolen你會介意將你的新代碼發佈給我們嗎? :)另外,如果克里斯答案解決了你的問題(至少在某種程度上),這將是很好的你[標記爲正確答案](http://meta.stackexchange.com/questions/5234/how-does -accepting-的回答工作)。 – brandizzi