我有一个正则表达式来获取HTML文档中的一些链接。你知道吗
((http://)(|up)(\.example\.com))*(/uploads/pp2p|/sites/default/files/[-_a-zA-Z0-9%/]+)\.(jpg|jpeg|gif|png)
我打算匹配的是,如果http
部分存在,如果不存在,就匹配它。如果up
部分存在,如果不存在,就匹配它。如果example.com
存在,如果不存在,就匹配它,不匹配。关于/uploads/pp2p
和另一个,如果不存在,就匹配它。最后,如果它有以下图像格式之一,如果不存在,就匹配它,不匹配。我希望得到一个链接列表,如
links = ['http://up.example.com/uploads/pp2p/www.jpg', '/sites/default/files/.png', 'http://example.com/uploads/zzz.jpg']
链接中的元素继续被不同的组合填充。不管怎样,我得到的结果就像一个元组
[('', '', '', '', '/sites/default/files/favicon', 'png'), ('', '', '', '', '/sites/default/files/logo_2', 'png')]
我不想得到一个元组,我想把匹配作为一个整体来表示。每个列表元素中只有一个完整的链接。如何避免由于正则表达式匹配而得到元组?你知道吗
我假设你在某个地方从网页上获取图像。你知道吗
下面是使用lxml.html获取所有图像src链接的快速方法:
给出输出:
-[输出截断]-
然后您可以执行
(?:%2F)([\w-]+\.(?:png|jpg))
来获取所有的图像名称(当然只是一个示例)。即nexus2cee_gamethumb_thumb1.png
更新代码
更改为只搜索每个链接中的
androidpolice.com
。您可以在6.2. re — Regular expression operations找到有关使用re
模块的更多信息。你知道吗相关问题 更多 >
编程相关推荐