我的浏览器可以访问的资源上的python urllib.request超时错误

时间:2018-11-11 15:51:33

标签: python python-3.x screen-scraping urllib

我用来从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()

这是怎么回事?

0 个答案:

没有答案