首次使用HTMLParser模块。尝试在输出上使用标准字符串格式,但它给了我一个错误。以下代码:
import urllib2
from HTMLParser import HTMLParser
class LinksParser(HTMLParser):
def __init__(self, url):
HTMLParser.__init__(self)
req = urllib2.urlopen(url)
self.feed(req.read())
def handle_starttag(self, tag, attrs):
if tag != 'a': return
for name, value in attrs:
print("Found Link --> {]".format(value))
if __name__ == "__main__":
LinksParser("http://www.facebook.com"
产生以下错误:
File "C:\Users\workspace\test\src\test.py", line 15, in handle_starttag
print("Found Link --> {]".format(value))
ValueError: unmatched '{' in format
答案 0 :(得分:2)
print("Found Link --> {]".format(value))
应改为:
print("Found Link --> {}".format(value))
您使用方括号而不是大括号。
答案 1 :(得分:0)
此格式字符串看起来已损坏:print("Found Link --> {]".format(value))
。您需要将其更改为print("Found Link --> {key}".format(key = value))
。
答案 2 :(得分:0)
有几个问题
handle_starttag
中的print语句应缩进handle_starttag
的打印声明中,您应使用{0}
代替{]