「http://」ヘッダーがない場合とない場合があるURLを開こうとすると、try-except
別の内で使用しています。try-except
しかし、コードは乱雑に見えます。私は、Python がそのようなニーズに対処するためのより良い方法を持っているかどうか疑問に思っています。実際、私は「with」キーワードを読んだことがあります..どういうわけか、コードが読みにくくなると思います...
開くリンクがありますが、リンクに何かが欠けている可能性があります。たとえば、URLは次のようになります。xxx.com または http://xxx のいずれか。コム。http:// と url、http:// と www をテストする必要があります。プラス url、正しいものを見つけるための url。
どれも機能しない場合は、その理由を記録し、次のリンクに進む必要があります。
for link in links:
url = link
if not url.startswith('http'):
try:
url1 = r'http://'+link
res = requests.get(url)
except Exception as e:
try:
url2 = r'http://www.'+link
res = requests.get(url)
except Exception as err:
self.print_error(*[url1, modify(e.message)])
self.print_error(*[url2, modify(err.message)])
self.error_log(*[url1, modify(e.message)])
self.error_log(*[url2, modify(err.message)])
else:
try:
res = request.get(url)
except Exception as e:
self.print_error(*[url, modify(e.message)])
self.error_log(*[url, modify(e.message)])