从文本文件中提取URL-Python

时间:2018-06-21 20:55:49

标签: python python-3.6

我正在尝试从包含网站源代码的文本文件中提取URL。我想获取href内的网站链接,并写了一些我从stackoverflow借来的代码,但无法正常工作。

with open(sourcecode.txt) as f:
    urls = f.readlines()

urls = ([s.strip('\n') for s in urls ]) 

print(url)

2 个答案:

答案 0 :(得分:0)

您可以为此使用正则表达式。

import re

with open('sourcecode.txt') as f:
    text = f.read()

href_regex = r'href=[\'"]?([^\'" >]+)'
urls = re.findall(href_regex, text)

print(urls)

您可能会遇到类似'sourcecode' is not defined的错误;这是因为您传递给open()的参数必须是字符串(请参见上文)

答案 1 :(得分:0)

使用正则表达式,您可以从文本文件中提取所有网址,而无需逐行循环:

import re
with open('/home/username/Downloads/Stack_Overflow.html') as f:
    urls = f.read()
    links = re.findall('"((http)s?://.*?)"', urls)
for url in links:
    print(url[0])