gpt4 book ai didi

python - 尽管 mechanize 可以工作,但 urllib.urlopen 不适用于此 url

转载 作者:行者123 更新时间:2023-12-01 05:08:30 25 4
gpt4 key购买 nike

下面的代码不适用于 nytimes 中的文章 URL。请尝试将 URL 变量更改为其他内容,您会发现它有效。这是为什么?

#url = "http://www.nytimes.com";
url = "http://www.nytimes.com/interactive/2014/07/07/upshot/how-england-italy-and-germany-are-dominating-the-world-cup.html"
htmlfile = urllib.urlopen(url);
htmltext = htmlfile.read();
print htmltext;

请指教。谢谢。

最佳答案

我认为 NYT 使用 cookie 验证您的请求。如果该请求不是 Web 浏览器的普通请求,服务器将返回 Location header 。它会让你的请求丢失。

解决办法很简单。像这样使用 cookiejar:

import cookielib, urllib2

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

url = "http://www.nytimes.com/interactive/2014/07/07/upshot/how-england-italy-and-germany-are-dominating-the-world-cup.html"
htmlfile = opener.open(url)
htmltext = htmlfile.read();

print htmltext

关于python - 尽管 mechanize 可以工作,但 urllib.urlopen 不适用于此 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com