我正在使用Python中的lxml来解析一些HTML,我想提取所有指向图片的链接。目前我的做法是:
//a[contains(@href,'.jpg') or contains(@href,'.jpeg') or ... (etc)]
这种方法存在一些问题:
- 在所有情况下(包括“jpg”和“JPG”)都要列出所有可能的图像扩展名,这不够优美。
- 在奇怪的情况下,href 可能会在字符串中间而不是在末尾包含 .jpg。
我想使用正则表达式,但失败了:
//a[regx:match(@href,'.*\.(?:png|jpg|jpeg)')]
这总是返回我所有的链接...
有人知道正确、优雅的方法来做这件事吗?或者我的正则表达式方法有什么问题吗?