解析HTML标签,基于使用美丽的汤
问题描述:
我试图用BeautifulSoup解析HTML类和href标记。解析HTML标签,基于使用美丽的汤
我想要的内容是这样的:
<a class="yil-biz-ttl" id="yil_biz_ttl-2" href="http://some-web-url/" title="some title">Title</a>
我想,得到了以下错误:
maxx = soup.findAll("href", {"class: "yil-biz-ttl"})
------------------------------------------------------------
File "<ipython console>", line 1
maxx = soup.findAll("href", {"class: "yil-biz-ttl"})
^
SyntaxError: invalid syntax
我想是字符串:http://some-web-url/
答
soup.findAll('a', {'class': 'yil-biz-ttl'})[0]['href']
要找到所有这些链接:
for link in soup.findAll('a', {'class': 'yil-biz-ttl'}):
try:
print link['href']
except KeyError:
pass
答
你错过"class
:
maxx = soup.findAll("href", {"class: "yil-biz-ttl"})
应该
maxx = soup.findAll("href", {"class": "yil-biz-ttl"})
另外,我不认为你可以搜索像href
这样的一个属性,我认为你需要搜索标签:
maxx = [link['href'] for link in soup.findAll("a", {"class": "yil-biz-ttl"})]
答
那么首先你所有的语法错误。你在class
部分有错误的报价。
尝试:
maxx = soup.findAll("href", {"class": "yil-biz-ttl"})
+0
问题中的示例html显示OP关心的是''元素,而不是'
答
要找到CSS类"yil-biz-ttl"
所有<a/>
元素有href
属性与任何在它:
from bs4 import BeautifulSoup # $ pip install beautifulsoup4
soup = BeautifulSoup(HTML)
for link in soup("a", "yil-biz-ttl", href=True):
print(link['href'])
目前所有其他答案都不符合上述要求。
如果有超过10个这样的链接,那么您只提取第一个权限? – whatf
我修改了我的答案,以显示如何在页面中找到所有此类链接。 – infrared
有可能是'''没有'href'属性的元素,如本页上的向上箭头。 – jfs