2012-11-11 4 views
15

BeautifulSoup, Scrapy e.t.c에 대해 이야기하는 웹 스크래핑과 관련하여 많은 답변을 읽었습니다. 웹 스크래핑을 수행합니다.웹 페이지 소스를 저장하는 고유 한 방법

웹 브라우저에서 페이지 원본을 저장하는 것과 동일한 방법을 사용할 수 있습니까?

즉, 파이썬에서 웹 사이트를 가리키고 페이지의 소스를 표준 파이썬 모듈만으로 텍스트 파일에 저장하는 방법이 있습니까? 여기

내가에 도착 어디에 :

import urllib 

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

#somehow save the web page source 

f.close() 

별로 나는 알고있다 - 그러나 나는 그것을 쓸 수 있도록 코드를 찾는 것은 실제로 페이지의 소스를 당깁니다. 나는 urlopen이 연결 만한다는 것을 모은다.

아마도 웹 페이지의 행을 읽는 데 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

인코딩 문제를 피하려면 fid로 open ('page_content.html', 'wb') with : –

0

업데이트 코드 (urllib2가이되지 않습니다) 파이썬 3 : 스택 오버플로

from urllib.request import urlopen 
html = urlopen("http://www.google.com/") 
with open('page_content.html', 'w') as fid: 
    fid.write(html) 
관련 문제