我是Python的新手,我有一些问题!!
def extractdownloadurl(url):
uresponse = urllib2.urlopen(url) #open url
contents = uresponse.readlines() #readlines from url file
fo = open("test.html","w") #open test.html
for line in contents:
fo.write(line)#write lines from url file to text file
fo.close()#close text file
cadena = os.system('more test.html | grep uploads | grep zip >> cadena.html')
f = open("cadena.html","r")
text = f.read()
f.close()
match = re.search(r'href=[\'"]?([^\'" >]+)', text)
if match:
cadena=match.group(0)
texto = cadena[6:]
os.system('rm test.html')
os.system('rm cadena.html')
return texto
这是我的功能,可以下载网页并按照某些条件获取一个网址。有用。但我想应用一种比在文件上保存Web更有效的方法。我想在没有保存和读取文件的情况下制作类似于grep的东西(它真的很慢)。以及将网址复制到字符串的其他更快捷方式。
请编写代码以在内容中查找网址而不将内容保存到文件中。
我知道有很多问题,但如果你回答所有问题,我将非常感激。
答案 0 :(得分:1)
这应该可以帮助你前进。此脚本使用正则表达式打印网页中的所有链接:
import re, urllib
page = urllib.urlopen("http://sebsauvage.net/index.html").read()
urls = re.findall('href=[\'"]?([^\'" >]+)',page)
for url in urls:
print url