-1

我的机器人使用 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)
4

1 回答 1

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
于 2012-07-28T02:27:23.067 回答