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