2

请告诉我为什么这些类似的代码列表会得到不同的结果。第一个(yandex.ru)获取请求页面,另一个获取站点主页(moyareklama.ru)

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
4

1 回答 1

2

很可能您使用 urllib.urlopen 和您的浏览器得到不同的原因是因为您的浏览器可以使用 javascript 和 meta/refresh 标签以及标准 HTTP 301/302 响应进行重定向。我很确定 urllib 模块只会被 HTTP 301/302 响应重定向。

于 2012-10-09T04:58:50.820 回答