以下のコードを使用して、Webページhttp://ajaxian.comからXFNコンテンツを 取得していますが、未定義の変数エラーが発生します。
私のコードは次のとおりです。
'''
Created on Jan 11, 2013
@author: Somnath
'''
# Scraping XFN content from a web page
# -*-coding: utf-8 -*-
import sys
import urllib2
import HTMLParser
from BeautifulSoup import BeautifulSoup
# Try http://ajaxian.com
URL = sys.argv[0]
XFN_TAGS = set([
'colleague',
'sweetheart',
'parent',
'co-resident',
'co-worker',
'muse',
'neighbor',
'sibling',
'kin',
'child',
'date',
'spouse',
'me',
'acquaintance',
'met',
'crush',
'contact',
'friend',
])
try:
page = urllib2.urlopen(URL)
except urllib2.URLError:
print 'Failed to fetch ' + item
try:
soup = BeautifulSoup(page)
except HTMLParser.HTMLParseError:
print 'Failed to parse ' + item
anchorTags = soup.findAll('a')
for a in anchorTags:
if a.has_key('rel'):
if len(set(a['rel'].split()) & XFN_TAGS) > 0:
tags = a['rel'].split()
print a.contents[0], a['href'], tags
コードに2つのtryブロックがあり、未定義の変数:itemというエラーが発生しています。try-exceptブロックを再度含める場合、tryブロックの外側にある変数の空白の定義を指定する必要がありますか?
PS:それは本に続く標準的なコードであることに注意してください。そして、私は彼らがそのような些細な間違いをしなかっただろうと期待しています。ここで何か問題がありますか?