Python urllib2.open连接由p重置

2024-10-01 17:22:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python抓取一个页面

问题是,我一直让对等机重置Errno54连接。在

运行此代码时出错-

urllib2.urlopen("http://www.bkstr.com/webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=10161&langId=-1&programId=562&termId=100020629&divisionDisplayName=Stanford&departmentDisplayName=ILAC&courseDisplayName=126&sectionDisplayName=01&demoKey=d&purpose=browse")

这个页面上的所有URL都会发生这种情况-问题是什么?在


Tags: 代码comhttpwww页面urllib2storeswebapp
2条回答
$> telnet www.bkstr.com 80
Trying 64.37.224.85...
Connected to www.bkstr.com.
Escape character is '^]'.
GET /webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=10161&langId=-1&programId=562&termId=100020629&divisionDisplayName=Stanford&departmentDisplayName=ILAC&courseDisplayName=126&sectionDisplayName=01&demoKey=d&purpose=browse HTTP/1.0

Connection closed by foreign host.

从python或其他任何地方获取URL不会有任何乐趣。如果它能在你的浏览器中运行,那么一定有其他的事情在进行,比如cookies或身份验证之类的。或者,可能是服务器坏了,或者他们改变了配置。在

尝试在以前从未访问过该网站的浏览器中打开它进行检查。然后登录并重试。在

编辑:毕竟是饼干:

^{pr2}$

输出看起来不错,但您必须检查它是否符合您的要求:)

我最近也遇到了类似的错误。连接断开,正在重置。我尝试了Cookiejar、扩展延迟和不同的头/用户代理,但都没用。最后,解决办法很简单。我从urllib2转到requests。旧的

import urllib2
opener = urllib2.build_opener()
buf = opener.open(url).read()

新的

^{pr2}$

从那以后,一切都很顺利。在

相关问题 更多 >

    热门问题