在Web scraper中排除具有特定扩展名的Web链接

时间:2013-08-26 13:45:33

标签: python regex pdf

我需要在我的网络抓取工具中排除以.od .jpg .pdf或.mp3

结尾的打印链接

这是我的if声明

if link in linkList():
      print link

Python中是否有一些库?我只知道“RegEx”,但我不是最好的用户。

2 个答案:

答案 0 :(得分:1)

假设您的链接只是路径,您可以执行以下操作:

import os
if os.path.splitext(link)[1] not in ['.jpg', '.pdf', '.mp3']:
    print link

函数splitext采用路径并返回包含没有扩展名的路径的元组,后跟扩展名。例如:

>>> os.path.splitext('http://www.example.com/path/to/filename.ext')
('http://www.example.com/path/to/filename', '.ext')

因此,如果您使用该函数拆分链接,则可以检查元组的最后一个元素是否是包含扩展黑名单的另一个列表/ set / tuple的成员。

答案 1 :(得分:1)

另一种方式。 os.path.splitext解决方案可能更好,但只是查看字符串是否以多个子字符串之一结束:

if link.endswith((".pdf", ".mp3", ".jpg")):
    print link