2011-08-25 106 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