用 Beautiful Soup 提取 href
Posted
技术标签:
【中文标题】用 Beautiful Soup 提取 href【英文标题】:Extracting href with Beautiful Soup 【发布时间】:2011-11-03 06:40:10 【问题描述】:我使用此代码来访问我的链接:
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值吗? 谢谢!
【问题讨论】:
【参考方案1】:Links 仍然是指您的 soup.find。所以你可以这样做:
links = soup.find("span", "class" : "hsmall" ).findNextSiblings('a')
for link in links:
print link['href']
print link.string
【讨论】:
嗨,克里斯,感谢您的回答。我试过你的代码:这次我没有错误,但href总是没有价值。我不明白为什么。我会尝试另一种我认为的方式.. @Koolen 您介意将您的新代码发布给我们吗? :) 另外,如果 Chris 的回答解决了您的问题(至少在某种程度上),您会很高兴mark it as the correct answer。 谢谢你,@Chris Pickett!对我来说,这段代码工作得很好!【参考方案2】:好的,现在可以使用以下代码:
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`
【讨论】:
以上是关于用 Beautiful Soup 提取 href的主要内容,如果未能解决你的问题,请参考以下文章
python爬虫之Beautiful Soup库,基本使用以及提取页面信息
python爬虫之Beautiful Soup库,基本使用以及提取页面信息