-1

私のボットは Beautifulsoup を使用して HTML を解析し、IRC で記述されたリンクの Web ページ タイトルも出力します。これは 1 つの点を除いてすべて機能します。誰かがデッド/フェイク リンクを提供すると、ボットはクラッシュします。

リンク グラバーは、「http」が見つかるとトリガーされます。たとえば、誰かが「http」とだけ言った場合、応答がないためにクラッシュします。これを修正する方法を知っている人はいますか?

リンクを取得し、Web ページのタイトルを取得して投稿するコードの一部を次に示します。

msg_split = msg.split(' ')
for item in msg_split:
    if re.search('^http.*', item, re.I):
        link = item
        if item.find(','):
            link = link.replace(',', ' ')
            soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(link))
            link_title = soup.title.string
            ircSend('PRIVMSG ' + args[2] + ' ' + link_title)
4

1 に答える 1

0

スルー行soup = ...ircSend(...try/except ステートメントで囲みます。

try:
    soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(link))
    link_title = soup.title.string
    ircSend('PRIVMSG ' + args[2] + ' ' + link_title)
except IOError:
    pass
于 2012-07-28T02:27:23.067 に答える