Python:BeautifulSoup - 从类的名称中获取属性值

时间:2017-07-17 23:07:16

标签: python beautifulsoup python-3.5

我正在从网页上抓取项目(其中有多个):

<a class="iusc" style="height:160px;width:233px" m="{&quot;cid&quot;:&quot;T0QMbGSZ&quot;,&quot;purl&quot;:&quot;http://www.tti.library.tcu.edu.tw/DERMATOLOGY/mm/mmsa04.htm&quot;,&quot;murl&quot;:&quot;http://www.tti.lcu.edu.tw/mm/img0035.jpg&quot;,&quot;turl&quot;:&quot;https://tse2.mm.bing.net/th?id=OIP.T0QMbGSZbOpkyXU4ms5SFwEsDI&amp;pid=15.1&quot;,&quot;md5&quot;:&quot;4f440c6c64996cea64c975389ace5217&quot;}" mad="{&quot;turl&quot;:&quot;https://tse3.mm.bing.net/th?id=OIP.T0QMbGSZbOpkyXU4ms5EsDI&amp;w=300&amp;h=200&amp;pid=1.1&quot;,&quot;maw&quot;:&quot;300&quot;,&quot;mah&quot;:&quot;200&quot;,&quot;mid&quot;:&quot;C303D7F4BB661CA67E2CED4DB11E9154A0DD330B&quot;}" href="/images/search?view=detailV2&amp;ccid=T0QMbGSZ&amp;id=C303D7F4BB661E2CED4DB11E9154A0DD330B&amp;thid=OIP.T0QMbGSZbOpkyXU4ms5SFwEsDI&amp;q=searchtearm;amp;simid=6080204499593&amp;selectedIndex=162" h="ID=images.5978_5,5125.1" data-focevt="1"><div class="img_cont hoff"><img class="mimg" style="color: rgb(169, 88, 34);" height="160" width="233" src="https://tse3.mm.bing.net/th?id=OIP.T0QMbGSZ4ms5SFwEsDI&amp;w=233&amp;h=160&amp;c=7&amp;qlt=90&amp;o=4&amp;dpr=2&amp;pid=1.7" alt="Image result fsdata-bm="169" /></div></a>

我想要做的是在m属性中下载与其关联的图像和信息。

为了实现这一点,我尝试了类似的东西来获取属性:

links = soup.find_all("a", class_="iusc")

然后,为了得到m属性,我尝试了这样的事情:

for a in soup.find_all("m"):
    test = a.text.replace("&quot;" '"')
    metadata = json.loads(test)["murl"]
    print(str(metadata))

然而,这并没有按预期工作,也没有打印出任何内容(也没有错误)。

1 个答案:

答案 0 :(得分:2)

您没有遍历links列表。试试这个。

links = soup.find_all("a", class_="iusc")

for link in links:
    print(link.get('m'))