与大多数pythonic一样:有一个库。
这里需要 urllib2 库
这允许您像打开文件一样打开 url,并像文件一样从中读取和写入。
您需要的代码如下所示:
import urllib2
urlString = "http://www.my.url"
try:
f = urllib2.urlopen(urlString) #open url
pageString = f.read() #read content
f.close() #close url
readableText = getReadableText(pageString)
#continue using the pageString as you wish
except IOException:
print("Bad URL")
更新:(我手头没有 python 解释器,所以无法测试这段代码是否可以工作,但它应该!!)打开 URL 是很容易的部分,但首先你需要从中提取 URL你的 html 文件。这是使用正则表达式(regex's)完成的,不出所料,python 有一个库(re)。我建议您阅读这两个正则表达式,但它们基本上是您可以匹配文本的模式。
所以你需要做的是编写一个匹配 URL 的正则表达式:
(http|ftp|https)://[\w-_]+(.[\w-_]+)+([\w-.,@?^=%&:/~+#]*[\ w-\@?^=%&/~+#])? 如果您不想通过 url 访问 ftp 资源,请删除“ftp|” 从模式的开始。现在,您可以扫描输入文件以查找与此模式匹配的所有字符序列:
import re
input_file_str = #open your input file and read its contents
pattern = re.compile("(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?") #compile the pattern matcher
matches = pattern.findall(input_file_str) #find all matches, storing them in an interator
for match in matches : #go through iteratr
urlString = match #get the string that matched the pattern
#use the code above to load the url using matched string!
应该这样做