从.txt文件Python中读取URL

时间:2018-06-10 10:02:33

标签: python regex url pattern-matching

我正在尝试使用正则表达式从.txt文件中提取网址(所有网址都以.jpeg结尾)。这是我的正则表达式:

import re
output = re.findall('(http)(.*?)(jpeg)', text)

但我的输出如下:

('http', ://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.', 'jpeg')

如何避免使用逗号分隔匹配?

4 个答案:

答案 0 :(得分:1)

试试这个

import re
output = re.findall('(http.*?jpeg)', text)

输出:

['http://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.jpeg']

这将使“re.findall”仅捕获一个组 - “http。*?jpeg”,而不是正则表达式中的三个。

答案 1 :(得分:0)

我不确定你是否在寻找这个

import re
output = " ".join(re.findall('(http)(.*?)(jpeg)', text))

答案 2 :(得分:0)

import re 

with open("urls.txt") as f:
    urls = re.findall('(http*.*?jpeg)', f.read())
    print urls

答案 3 :(得分:0)

output = re.findall('https?:.*?.jpeg', text)

实施例

import re
text=" asdd adf sdf sf http://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.jpeg asfd ads f ads asdfadfasf asd asdf asdf asdf as"
output = re.findall('https?:.*?.jpeg', text)
print(output)

<强>输出继电器:

  

[ 'http://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.jpeg']