错误的链接崩溃了Python IRC bot

时间:2012-07-28 02:19:19

标签: python beautifulsoup bots irc

我的机器人使用Beautiful soup来解析HTML,并打印出IRC中所说的链接的网页标题。这一切都有效,除了一件事:如果有人给出了死/假链接,僵尸就会崩溃。

链接抓取器在找到“http”时触发,例如,如果有人只是说“http”,它会因为没有响应而崩溃。有谁知道如何解决这个问题?

以下是抓取链接并获取网页标题并发布的代码部分:

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)

1 个答案:

答案 0 :(得分:0)

在try / except语句中包含soup = ...ircSend(...行。

try:
    soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(link))
    link_title = soup.title.string
    ircSend('PRIVMSG ' + args[2] + ' ' + link_title)
except IOError:
    pass