2012-11-11 23 views
15

Websitem hakkında BeautifulSoup, Scrapy e.t.c. hakkında yazılan çok fazla cevap okudum. web kazıma gerçekleştirmek için.Web sayfası kaynağını kaydetmenin yol yolu

Bir sayfanın kaynağını web tarayıcısından kaydetme eşdeğerinin bir yolu var mı?

Python'da bir web sitesine yönlendirmek ve sayfanın kaynağını sadece standart Python modülleriyle bir metin dosyasına kaydetmek için bir yol var mı? İşte

ben lazım nerede:

import urllib 

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

#somehow save the web page source 

f.close() 

Değil kadarını biliyorum - ama bunu yazabilir böylece kod arayan aslında sayfanın kaynağını çekin. Topladım ki bu üşüşümü sadece bir bağlantı kurar.

Belki de bir web sayfasının satırlarını okumak için bir readlines() karşılığı var mı? Sen urllib2 deneyebilir

+2

hoş geldiniz! Sorularınızı araştırmanızı öneririz (http://stackoverflow.com/questions/how-to-ask). [Zaten bir şeyi denediyseniz] (http://whathaveyoutried.com/), lütfen soruyu soruyu ekleyin - eğer değilse, araştırın ve sorunuzu önce deneyin, sonra geri dönün. –

+1

Teşekkürler! Siteye hala çok yeni olduğum için bu kadar yanlış bir şekilde yaklaşmış olsaydım. Nereye gittiğime dair bir kod ekleyeceğim :) –

cevap

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

Kodlama sorunlarından kaçınmak için 'ile açık (' page_content.html ',' wb ') fid olarak kullanın: ' –

0

Güncelleme kod, (urllib2 kullanımdan kaldırıldı) Python 3: Yığın taşması için

from urllib.request import urlopen 
html = urlopen("http://www.google.com/") 
with open('page_content.html', 'w') as fid: 
    fid.write(html) 
İlgili konular