<p>要在方法中传递unicode:</p>
<pre><code># -*- coding: utf-8
...
img_urls = form_soup.findAll('a', title=u'查看大图')
</code></pre>
<p>注意标题值前面的<a href="http://docs.python.org/reference/lexical_analysis.html#string-literals" rel="nofollow">^{<cd1>} unicode literal marker</a>。您确实需要<a href="http://www.python.org/dev/peps/pep-0263/" rel="nofollow">specify an encoding on your source file</a>才能使其工作(文件顶部的<code>coding</code>注释),或者改为使用unicode转义码:</p>
^{pr2}$
<p>在内部,beauthulsoup使用unicode,但是您将传递给它一个包含非ascii字符的字节字符串。beauthulsoup试图为您解码为unicode,但失败了,因为它不知道您使用了什么编码。通过为它提供现成的unicode,您可以回避这个问题。在</p>
<p>工作示例:</p>
<pre><code>>>> from BeautifulSoup import BeautifulSoup
>>> example = u'<P class=img_s>\n<A href="/pic/93/b67793.jpg" target="_blank" title="<A href="/pic/93/b67793.jpg" target="_blank" title="\u67e5\u770b\u5927\u56fe"><IMG src="/pic/93/s67793.jpg"></A></P>'
>>> soup = BeautifulSoup(example)
>>> soup.findAll('a', title=u'\u67e5\u770b\u5927\u56fe')
[<a href="/pic/93/b67793.jpg" target="_blank" title="查看大图"><img src="/pic/93/s67793.jpg" /></a>]
</code></pre>