Python 美化组以查找<;img alt标签

Python 美化组以查找<;img alt标签,python,regex,beautifulsoup,Python,Regex,Beautifulsoup,下面是我从Python代码行中得到的信息 listm = soup.findAll('td',{'class':'thumb'}) 当我遍历listm时,下面是一个项目的示例 <a href="/property-search/property-details/1021206?StrtNum=1507"><img alt="1507 BOSTWICK LN" src="/res/slir/w75-h57-c4:3/propertyimages/20120904/BB/DSCN

下面是我从Python代码行中得到的信息

listm = soup.findAll('td',{'class':'thumb'})
当我遍历listm时,下面是一个项目的示例

<a href="/property-search/property-details/1021206?StrtNum=1507"><img alt="1507 BOSTWICK LN" src="/res/slir/w75-h57-c4:3/propertyimages/20120904/BB/DSCN0738.JPG"/></a>


然而,我真正想要的是
您的
td
元素中的“1507 BOSTWICK LN”包含一些嵌套元素;在每个
td
元素中搜索
img
标记,然后使用带有项查找的
alt
属性:

for td in listm:
    img = td.find('img')
    if img is not None:
        print img['alt']
试试这个:

listm = soup.findAll('td',{'class':'thumb'})
for elem in listm:
    print elem('img')[0]['alt']
这应该在每个
td
中找到
img
标记,并打印
alt
属性的值

编辑:

您不应假设存在
img
标记。改为这样做:

listm = soup.findAll('td',{'class':'thumb'})
for elem in listm:
    imgs = elem('img')
    if imgs:
        print imgs['alt']

不用担心,我想你只是在抽签时更快了!此外,你的答案更好。我不检查
img
标签。我只是假设它的存在;谢谢你们两位的回复!使用if-imgs:print-imgs['alt']或if-imgs不是None:print-imgs有什么区别吗?至于它是否有效,没有区别。然而,根据PEP8,如果imgs:
是合适的。链接:如果这个答案对你有帮助,你应该接受它为正确=)