-1

次のコードは、 1) http://www.adobe.com/support/security/ から 'urlfile' への
すべてのリンクをダウンロードします 2) 'urlsort' への「bulletins」リンクのみを抽出します 3) 行を読み取り、「urlsort」を4行 目) 最後に、すべての Web ソースを「コンテンツ」に保存します。


私の問題は、「コンテンツ」がすべてのWebソースを1行に保存することですが、行ごとに保存したいです(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 に答える