2012-11-11 14 views
15

私はBeautifulSoup、Scrapy e.t.cについて話しているウェブスクレイピングに関する多くの答えを読みました。ウェブスクレイピングを実行する。Webページのソースを保存する本来の方法

ウェブブラウザからページのソースを保存するのと同等のやり方はありますか?

つまり、PythonでWebサイトを指し、標準のPythonモジュールだけでそのページのソースをテキストファイルに保存する方法がありますか? - しかし、私はそれを書くことができますので、実際のページのソースを引っ張るためのコードを探して

import urllib 

f = open('webpage.txt', 'w') 
html = urllib.urlopen("http://www.somewebpage.com") 

#somehow save the web page source 

f.close() 

ずっと私が知らない:私はになったのはここ

です。私はurlopenがちょうど接続することを集める。

おそらく、Webページの行を読むためのreadlines()に相当するものがありますか?あなたがurllib2を試すこと

+2

ようこそ! [あなたの質問を研究する](http://stackoverflow.com/questions/how-to-ask)をお勧めします。 [既に何かを試したことがある場合は(http://whathaveyoutried.com/)、質問に追加してください。そうでない場合は、最初に質問を研究して試してみてください。 –

+1

ありがとう!私は間違った方法でこれに近づけば、申し訳ありません。 –

答えて

29

import urllib2 

page = urllib2.urlopen('http://stackoverflow.com') 

page_content = page.read() 

with open('page_content.html', 'w') as fid: 
    fid.write(page_content) 
+3

エンコードの問題を回避するには、 'with open( 'page_content.html'、 'wb')をfid:' –

0

更新されたコード、(urllib2のは推奨されません)Pythonの3のために:スタックオーバーフローへ

from urllib.request import urlopen 
html = urlopen("http://www.google.com/") 
with open('page_content.html', 'w') as fid: 
    fid.write(html) 
関連する問題