ユーザーは、コマンドラインの引数としてURLの束を与えることができます。過去に与えられたすべてのURLはpickleで直列化されています。スクリプトは、指定されたすべてのURLをチェックします。一意のURLは、シリアライズされてファイルに追加されます。少なくともそれは起こっているべきことです。何も追加されていません。しかし、書き込みモードでファイルを開くと、新しい一意のURLが書き込まれます。だから何を与える?コード:ファイルに追加するときにpickle.dumpは何もダンプしません。
def get_new_urls():
if(len(urls.URLs) != 0): # check if empty
with open(urlFile, 'rb') as f:
try:
cereal = pickle.load(f)
print(cereal)
toDump = []
for arg in urls.URLs:
if (arg in cereal):
print("Duplicate URL {0} given, ignoring it.".format(arg))
else:
toDump.append(arg)
except Exception as e:
print("Holy bleep something went wrong: {0}".format(e))
return(toDump)
urlsToDump = get_new_urls()
print(urlsToDump)
# TODO: append new URLs
if(urlsToDump):
with open(urlFile, 'ab') as f:
pickle.dump(urlsToDump, f)
# TODO check HTML of each page against the serialized copy
with open(urlFile, 'rb') as f:
try:
cereal = pickle.load(f)
print(cereal)
except EOFError: # your URL file is empty, bruh
pass
独創性は素晴らしいですが、これは子供にやさしいウェブサイトであることを覚えています;-( –
"ダンピンではありません"というのはちょっと間違っています** – mentalita