从美丽汤中提取链接

时间:2018-12-27 06:30:05

标签: python beautifulsoup

我对编程很陌生。 我正在尝试使用Beautiful Soup提取链接。

这是我汤的摘录。我想提取的是“ href”之后的链接。但是,我一直没有尝试过。

></style><div id="taw"><div></div><div style="padding:0 20px"><div class="med"><div class="card" id="msg_box" style="display:none"><p class="card-section w4VK3c"><span><span class="gL9Hy" id="srfm"></span>&nbsp;<a class="gL9Hy" id="srfl"></a><br></span><span id="sif"><span class="spell_orig" id="sifm"></span>&nbsp;<a class="spell_orig" id="sifl"></a><br></span></p></div></div></div><div id="tvcap"></div></div><div class="med" id="res" role="main"><div id="topstuff"></div><div id="search"><div data-ved="0ahUKEwj9irrRpr_fAhXh24MKHSUTB_cQGggp"><!--a--><h1 class="bNg8Rb">Search Results</h1><div data-async-context="query:Canada%20Pays%20Off%20Entire%20Federal%20Debt%20One%20Day%20After%20Marijuana%20Legalization" id="ires"><div eid="UGYkXP2iEeG3jwSlppy4Dw" id="rso"><div class="bkWMgd"><h2 class="bNg8Rb">Web results</h2><div class="srg"><div class="g"><!--m--><div data-hveid="CAMQAA" data-ved="2ahUKEwj9irrRpr_fAhXh24MKHSUTB_cQFSgAMAB6BAgDEAA"><div class="rc"><div class="r"><a href="https://www.snopes.com/fact-check/canada-marijuana-federal-debt/" ping="/url?sa=t&amp;source=web&amp;rct=j&amp;url=https://www.snopes.com/fact-check/canada-marijuana-federal-debt/&amp;ved=2ahUKEwj9irrRpr_fAhXh24MKHSUTB_cQFjAAegQIAxAB"><h3 class="LC20lb">Did Canada Pay Off Entire Federal Debt One Day After Marijuana ...</h3><br><div style="display:inline-block" class="TbwUpd"><cite class="iUh30 bc">https://www.snopes.com &rsaquo; Fact Check &rsaquo; Junk News</cite></div></a><span><div class="action-menu ab_ctl"><a class="GHDvEf ab_button" href="#" id="am-b0" aria-label="Result Options" aria-expanded="false" aria-haspopup="true" role="button" jsaction="m.tdd;keydown:m.hbke;keypress:m.mskpe" data-ved="2ahUKEwj9irrRpr_fAhXh24MKHSUTB_cQ7B0wAHoECAMQAw"><span class="mn-dwn-arw"></span></a><div class="action-menu-panel ab_dropdown" role="menu" tabindex="-1" >

我的想法是:

    for link in soup.find_all('div', attrs={'class': 'r'}):
    link = link.get('href')

1 个答案:

答案 0 :(得分:0)

也许您可以使用

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_string, 'html.parser')
soup.find("div", class_="r").a['href']

因为类<div>中只有一个"r",并且其中html_string是作为Python字符串的html源。

find()class_参数一起使用以查找类<div>的{​​{1}}。然后访问其子项"r"的{​​{1}}属性。

所以输出应该是

<a>
相关问题