Python urllib2.open连接被对等错误重置
作者:互联网
我正在尝试使用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§ionDisplayName=01&demoKey=d&purpose=browse")
在此分页上的所有网址上都会发生这种情况,这是什么问题?
解决方法:
$> 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§ionDisplayName=01&demoKey=d&purpose=browse HTTP/1.0
Connection closed by foreign host.
从python或其他任何地方获取URL都不会有任何乐趣.如果它在您的浏览器中正常工作,则还必须进行其他操作,例如cookie或身份验证或类似的操作.或者,可能是服务器损坏了,或者他们更改了配置.
尝试在从未访问过该站点的浏览器中打开它进行检查.然后登录并重试.
编辑:毕竟是饼干:
import cookielib, urllib2
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#Need to set a cookie
opener.open("http://www.bkstr.com/")
#Now open the page we want
data = opener.open("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§ionDisplayName=01&demoKey=d&purpose=browse").read()
输出看起来不错,但是您必须检查它是否满足您的要求:)
标签:python,connection,reset,screen-scraping 来源: https://codeday.me/bug/20191011/1889463.html