-1

以下代码用于下载
1) 从http://www.adobe.com/support/security/ 到 'urlfile' 的所有链接
2) 仅提取指向 'urlsort' 的“bulletins” 链接
3) 通过读取 line by 输入 'urlsort'第 4行
)最后将所有网络源存储到“内容”

我的问题是“内容”将所有网络源存储在一行中,但我希望它逐行存储(正如我们通过按 F12 看到的那样)

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

'''f1=open('content1','r')
f=open('urlfile','w')'''
page = urllib.urlopen("http://www.adobe.com/support/security/")
page = page.read()

fileHandle = open('urlfile', 'w')


links = re.findall(r"<a.*?\s*href=\"(.*?)\".*?>(.*?)</a>", page)
for link in links:
    sys.stdout = fileHandle
    print ('%s' % (link[0]))
    sys.stdout = sys.__stdout__
fileHandle.close()

 os.system("grep -i '\/support\/security\/bulletins\/apsb' urlfile |sort|uniq|sed -e    's/http:\/\/www.adobe.com//g' |sed -e 's/^/http:\/\/www.adobe.com/g' > urlsort") 

f = open('urlsort','r')
f1 = open('content','w')
for line in f.readlines():
    url=line.strip('\n')
    print url
    page1=urllib.urlopen(url)
    sys.stdout=f1
    print page1.readlines()
    sys.stdout=sys.__stdout__
    page1.close()
4

1 回答 1

0

不考虑标准输出的可笑重新分配,您正在写入content的是每个 url 中所有行的单个数组urlsort

第 28 行的一个简单补充:print "".join(page1.readlines))就可以了。

于 2013-09-27T09:57:21.643 回答