Извлечение URL-ссылок из файла

Следующий код предназначен для извлечения /support/security/*.html ссылок из файла (urlfile содержит около 1000 ссылок) в файл urlsort с использованием регулярных выражений, но я слаб в регулярных выражениях, может кто-нибудь показать мне, как это сделать .. .?

#!/usr/bin/env python
import re,sys

fileHandle = open('urlfile', 'r')
f1 = open('urlsort', 'w')
for line in fileHandle.readlines():

    links = re.findall(r"(\/support\/security\/*.html.*?)", line)
    for link in links:
        sys.stdout = f1
        print ('%s' % (link[0]))
        sys.stdout = sys.__stdout__


 f1.close()
 fileHandle.close()
1
задан 4 March 2015 в 12:04

1 ответ

В вашем регулярном выражении есть две ошибки: пропущенное . перед первым * и дополнительное ? в конце.

Вот некоторый код, который записывает URL, соответствующие вашему шаблону, в urlsort с использованием некоторых идиом Python.

#!/usr/bin/env python

import re

with open('urlfile', 'r') as urls_in:
    with open('urlsort', 'w') as urls_out:
        for line in urls_in:
            links = re.findall(r"(\/support\/security\/bulletins\/.*.html)", line)
            if links:
                urls_out.write("%s\n" % links[0])
0
ответ дан 4 March 2015 в 12:04

Другие вопросы по тегам:

Похожие вопросы: