Pythonurllib.urlopen使用VPN时出错

2024-09-28 05:35:45 发布

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

我正在尝试访问一个名为scopus.com网站. 我想做的是在里面搜索一个作者,得到他的出版物数量,h索引等等。 如果您不在大学wifi网络上,则无法访问此网站(每当我想从家访问时,我都使用VPN)。在

代码如下:

import urllib

first_name = "John"
last_name = "Smith"

new_url = "http://www.scopus.com/results/authorNamesList.url?sort=\
count-f&src=al&sid=66892931B99391BF99AFADC3006D1357.WXhD7YyTQ6A7Pvk9AlA%3a50\
&sot=al&sdt=al&sl=47&s=AUTH--LAST--NAME%28" + last_name + \
"%29+AND+AUTH--FIRST%28" + first_name + "%29&st1=" + last_name + "&st2=" + first_name +\
"&orcidId=&selectionPageSearch=anl&reselectAuthor=false&activeFlag=false&showDocument=\
false&resultsPerPage=20&offset=1&jtp=false&currentPage=1&previousSelectionCount=\
0&tooManySelections=false&previousResultCount=0&authSubject=LFSC&authSubject=\
HLSC&authSubject=PHSC&authSubject=SOSC&exactAuthorSearch=false&showFullList=\
false&authorPreferredName=&origin=searchauthorlookup&affiliationId=&txGid=\
66892931B99391BF99AFADC3006D1357.WXhD7YyTQ6A7Pvk9AlA%3a5"

page_source = urllib.urlopen(new_url).read()

print page_source

无论我做什么,我总是得到这样的错误:

^{pr2}$

我花了一些时间在这个论坛上,我想我已经尝试了我能找到的一切(包括假装以歌剧的身份访问网站)。不管怎样,我能做到这一点,还是我应该放弃它,手动完成700次?在

提前感谢大家的帮助


Tags: namecomauthfalseurlsourcenew网站
2条回答

这与您的VPN无关。主要问题是,您试图获取的页面必须具有有效的会话(存在于浏览器的请求-响应cicle中)。您的选择:

但无论如何,我建议您使用API来解决这类问题:Elsevier API。在

实际上很简单,401 Error表示您未经授权(通常,必须有登录才能访问站点)。也就是说,你正在做的是expressly prohibited based on their robots.txt file,所以我建议你不要坚持。在

这就是说,如果你继续对其他网站感兴趣,我想你应该看看Python Requests Module,以及{a4}。在

相关问题 更多 >

    热门问题