0
私はウェブサイトをクロールし、私は必要なアイテムを見つけるために、このスクリプトを持っている...どこで何を使うべきですか? urllibはのpython3
from socket import timeout
from urllib.request import Request, urlopen, URLError
import bs4,urllib.parse
def track(self):
for _object in _objects:
req = Request('http://example.com/item.php?id='+str(_object))
req.add_header('User-Agent',
'Mozilla 5.0')
_URL = urlopen(req).read()
soup = bs4.BeautifulSoup(_URL, "html.parser")
allResults = []
i = 1
for hit in soup.findAll('cite'):
if ("% Off" in hit.text):
allResults.append(str(i) + ". " + hit.text + " | Item => " + _object)
i += 1
if (len(allResults) == 0):
print("No result found for this item => " + _object)
else:
for element in allResults:
print(element)
私は例外をスローしたいので、接続はウェブサイトに失敗したとき、またはその他の理由でそれはcouldn URLに到達すると、「何かが間違っていました」というメッセージが表示されます。
私はsocket.timeoutを使用する必要がありますが、どこにコードを入れるべきですか?
コードの残りの部分にどうなりますか?例外がスローされた場合、次の行が例外の後に実行されます。ここではスープ変数 – DarkSuniuM
を定義します。それはあなた次第ですが、例外をキャッチしています。これをループでやっているときに、 'continue'を呼び出して次の' _object'を実行してください –