使用Python创建Webscraping环境时发生IOError
在工作中,我试图从加拿大环境部的网页上获取大量数据,该网页上有自己的说明:当我运行代码时,总是出现错误10054;远程主机强制关闭的现有连接。作为一个相当新手的程序员,我想知道该网站是否不喜欢我的程序(我在省政府网站上测试了该程序的早期阶段,它似乎检索到了信息),或者我的代码中是否有一个特定的错误阻止了我正确连接。欢迎就如何进行提出任何建议。谢谢 这是我的密码;最后一个try/except块是我在收到IOError消息后重试连接的尝试:使用Python创建Webscraping环境时发生IOError,python,sockets,ftp,web-scraping,Python,Sockets,Ftp,Web Scraping,在工作中,我试图从加拿大环境部的网页上获取大量数据,该网页上有自己的说明:当我运行代码时,总是出现错误10054;远程主机强制关闭的现有连接。作为一个相当新手的程序员,我想知道该网站是否不喜欢我的程序(我在省政府网站上测试了该程序的早期阶段,它似乎检索到了信息),或者我的代码中是否有一个特定的错误阻止了我正确连接。欢迎就如何进行提出任何建议。谢谢 这是我的密码;最后一个try/except块是我在收到IOError消息后重试连接的尝试: import math import datetime i
import math
import datetime
import sys
import os
import urllib
# out_folder is relative to local directory
# station id is arbitrary; figure this out from the Web site
# by inspecting the URL of the stations Web page
[station, start_year, end_year, out_folder] = sys.argv[1:5]
print "retrieving data for station "+station+" for years "+start_year+" to "+end_year+" and saving in folder ./"+out_folder+"\n"
# generate filenames and download them
for year in range(int(start_year), int(end_year)+1):
for month in range(1, 2):
url = "http://climate.weather.gc.ca/climateData/bulkdata_e.html?format=csv&stationID="+str(station)+"&Year="+str(year)+"&Month="+str(month+1)+"&Day=1&timeframe=2&submit=Download+Data"
filename = 'stn_'+str(station)+'_'+str(year)+'.csv'
print 'stn_'+str(station)+'_'+str(year)+'.csv'
try:
print "Trying to retrieve data; please hold"
urllib.urlretrieve(url, out_folder+'\\'+filename)
except IOError:
os.mkdir(out_folder)
print "folder "+out_folder+" does not exist yet, creating it ...\n"
try:
print "Trying to retrieve data; please hold"
urllib.urlretrieve(url, out_folder+'\\'+filename)
except IOError:
print "Trying to retrieve data; please hold"
urllib.urlretrieve(url, out_folder+'\\'+filename)
exit()
此外,如果有帮助,回溯的最后一行是:
File "C:\Python27\lib\socket.py", line 476 in readline
data = self._sock.recu(self._rbufsize)
IOError: [Errno socket error] [Errno 10054] An existing connection was forcibly...
抱歉不必要的询问;这个问题与我自己的网络阻止连接有关,我切换到Wifi,程序运行正常