2012-10-08 3 views
2

이 비슷한 코드 목록이 다른 결과를 얻는 이유를 말해주십시오. 먼저 일 (yandex.ru)는 요청의 페이지를 얻고, 다른 사이트 (moyareklama.ru)의 메인 페이지를 얻을Python에서 요청 받기

import urllib 

base = "http://www.moyareklama.ru/single_ad_new.php?" 
data = {"id":"201623465"} 
url = base + urllib.urlencode(data) 
print url 
page = urllib.urlopen(url).read() 
f = open ("1.html", "w") 
f.write(page) 
f.close() 
print page 

##base = "http://yandex.ru/yandsearch?" 
##data = (("text","python"),("lr","192")) 
##url = base + urllib.urlencode(data) 
##print url 
##page = urllib.urlopen(url).read() 
##f = open ("1.html", "w") 
##f.write(page) 
##f.close() 
##print page 
+7

다른 사이트에서 다른 결과를 얻었 기 때문에 추측 할 수 있습니다 ... –

+0

첫 번째 예는 사이트의 다른 기본 페이지로 돌아갑니다. –

+0

[요청] (http : //docs.python-requests .org/ko/latest /) module – nathancahill

답변

2

가능성이 가장 높은 이유는 당신이 urllib.urlopen와 다른 무언가를 얻을 수있는 브라우저가 있기 때문이다 브라우저는 표준 HTTP 301/302 응답뿐만 아니라 javascript 및 메타/새로 고침 태그로 리디렉션 될 수 있습니다. urllib 모듈은 HTTP 301/302 응답으로 만 리디렉션 될 것입니다.