Чтение URL-адресов из .txt файла Python - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь извлечь URL из файла .txt с помощью регулярных выражений (все URL заканчиваются на .jpeg).Это мое регулярное выражение:

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

, но мой вывод выглядит следующим образом:

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

Как можно избежать запятых, разделяющих совпадения?

Ответы [ 4 ]

0 голосов
/ 10 июня 2018

Попробуйте это

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", а не три какв вашем регулярном выражении.

0 голосов
/ 10 июня 2018
import re 

with open("urls.txt") as f:
    urls = re.findall('(http*.*?jpeg)', f.read())
    print urls
0 голосов
/ 10 июня 2018
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']

0 голосов
/ 10 июня 2018

Я не уверен, что вы ищете это

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