AWSインスタンスから実行され、S3サーバーからXMLファイルをフェッチしてインスタンスのフォルダに配置するPythonスクリプトを作成しました。私は、このエラーに続いAWSのPython webscrapingスクリプトは、1.5時間後に失敗し続けます/ 10,000 XMLをフェッチする
HTTP Error 500: Internal Server Error
:スクリプト約1時間半後に、またはそれが10,000〜15,000 XMLSを取得するのにかかる時間について、私は次のエラーを取得するという事実を除いて、正常に動作します私はすなわち
[Errno 2] No such file or directory:
、見つけることができないでフェッチされたXMLを配置するスクリプトを教えフォルダが、私はnohupを、SSHの両方から、このスクリプトを実行している画面を使用し、使用して試してみましたが、私は同じ問題を得ることを告げました毎回。フェッチするために約200,000のXMLがあるので、私はこのスクリプトを一度実行し、実行する必要がある20時間以上何か他のことをやりたいと思います。
import os
import feather
df = feather.read_dataframe('avail.feather')
import xmltodict
urls = df['URL']
import urllib.request
import time
import requests
ticker=0
start = time.time()
for u in urls[ticker:len(urls)]:
#os.chdir('/home/stan/Documents/Dissertation Idea Box/IRS_Data')
ticker += 1
print("Starting URL",ticker, "of", len(urls),"........." ,(ticker/len(urls))*100, "percent done")
if u is None:
print("NO FILING")
end = time.time()
m, s = divmod(end-start, 60)
h, m = divmod(m, 60)
print("Elapsed Time:","%02d:%02d:%02d" % (h, m, s))
continue
u = u.replace('https','http')
r = requests.get(u)
doc = xmltodict.parse(r.content)
try:
os.chdir("irs990s")
urllib.request.urlretrieve(u, u.replace('http://s3.amazonaws.com/irs-form-990/',''))
print("FETCHED!","..........",u)
except Exception as e:
print("ERROR!!!","..........",u)
print(e)
end = time.time()
m, s = divmod(end-start, 60)
h, m = divmod(m, 60)
print("Elapsed Time:","%02d:%02d:%02d" % (h, m, s))
continue
end = time.time()
m, s = divmod(end-start, 60)
h, m = divmod(m, 60)
print("Elapsed Time:","%02d:%02d:%02d" % (h, m, s))
os.chdir('..')
このアドバイスはお金の上にあります。私は今朝コードを再作成しましたが、問題なく過去7時間稼働しています。ありがとうございました! – StanO