我用来从nasdaq.com抓取股票行情自动收录器更改的脚本已停止工作。
该URL仍然可以被我的浏览器访问,但是当我尝试使用Python 3 urllib.request访问该URL时出现超时bytes.Buffer
错误。
其他url仍按预期运行。我试图了解这是否是一些服务器端脚本,该脚本检测到我不在浏览器中?我正在提供欺骗性标题。见下文。
TimeoutError: [WinError 10060]
输出如下:
import urllib.request
import traceback
req_headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
}
urls=['http://msn.com',
'https://google.com',
'https://www.nasdaq.com/markets/stocks/symbol-change-history.aspx?sortby=EFFECTIVE&page=1',
'https://yahoo.com']
for url in urls:
try:
req = urllib.request.Request(
url,
data=None,
headers=req_headers
)
print('trying %s'%url)
pagetext=urllib.request.urlopen(req).read()
print ('Success',len(pagetext))
except:
traceback.print_exc()
这是怎么回事?