imgur.com
reddit 上的链接没有任何.jpg
扩展名,因此您的正则表达式不会匹配任何内容。您应该寻找i.imgur.com
域。
匹配re.findall("http://i.imgur.com/\w+.jpg", links)
确实返回结果:
>>> re.findall("http://i.imgur.com/\w+.jpg", links)
['http://i.imgur.com/PMNZ2.jpg', 'http://i.imgur.com/akg4l.jpg', 'http://i.imgur.com/dAHtq.jpg', 'http://i.imgur.com/dAHtq.jpg', 'http://i.imgur.com/nT73r.jpg', 'http://i.imgur.com/nT73r.jpg', 'http://i.imgur.com/z2wIl.jpg', 'http://i.imgur.com/z2wIl.jpg']
您可以将其扩展为其他文件扩展名:
>>> re.findall("http://i.imgur.com/\w+.(?:jpg|gif|png)", links)
['http://i.imgur.com/PMNZ2.jpg', 'http://i.imgur.com/akg4l.jpg', 'http://i.imgur.com/dAHtq.jpg', 'http://i.imgur.com/dAHtq.jpg', 'http://i.imgur.com/rsIfN.png', 'http://i.imgur.com/rsIfN.png', 'http://i.imgur.com/nT73r.jpg', 'http://i.imgur.com/nT73r.jpg', 'http://i.imgur.com/bPs5N.gif', 'http://i.imgur.com/z2wIl.jpg', 'http://i.imgur.com/z2wIl.jpg']
您可能想要使用适当的 HTML 解析器而不是正则表达式;我可以推荐BeautifulSoup和lxml
. 这将使查找所有<img />
使用这些工具链接的标签变得更加容易i.imgur.com
,包括.gif
和.png
文件,如果有的话。