从文件中提取 URL 链接

从文件中提取 URL 链接

以下代码是使用正则表达式从文件(urlfile 包含大约 1000 个链接)中提取 /support/security/*.html 链接到 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

您的正则表达式有两个错误,一个是.在第一个之前缺失的*,另一个是?在结尾附近多了一个。

urlsort这里是一些使用一些 Python 习语来编写与您的模式匹配的 URL 的代码。

#!/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])

相关内容