为什么使用Python 3的Beauty Soup 4打印unicode,而不打印';t代表Python 2?

为什么使用Python 3的Beauty Soup 4打印unicode,而不打印';t代表Python 2?,python,python-2.7,python-3.x,unicode,Python,Python 2.7,Python 3.x,Unicode,我一直在尝试用BeautifulSoup4在Python3.4上制作一个quotescraper和reddit机器人。我从goodreads中提取引号的代码如下: 问题是,它在引号和作者姓名之间打印出诸如“\xe2\x80\x9c”之类的内容序列。 我是一个完全的编程初学者,我曾经尝试过研究这个问题,结果发现这是一个编码问题。所以我继续往下看goodreads quotes源页面上的字符集。然后我浏览了源页面,找到了包含我想要的文本的确切div,我看到: “不要因为结束而哭泣,微笑吧,为你的曾经

我一直在尝试用BeautifulSoup4在Python3.4上制作一个quotescraper和reddit机器人。我从goodreads中提取引号的代码如下: 问题是,它在引号和作者姓名之间打印出诸如“\xe2\x80\x9c”之类的内容序列。 我是一个完全的编程初学者,我曾经尝试过研究这个问题,结果发现这是一个编码问题。所以我继续往下看goodreads quotes源页面上的字符集。然后我浏览了源页面,找到了包含我想要的文本的确切div,我看到:

“不要因为结束而哭泣,微笑吧,为你的曾经拥有。”
― 它显示了一些奇怪的字符,如“―”、“&ldquo”等。。我目前正在研究一种bruteforce方法来查找所有奇怪的角色,并将其从结果中删除。但我看了这段视频:BeautifulSoup教程,他似乎没有遇到和我一样的事情,这是有道理的,因为洛杉矶咖啡店黄页的源代码没有相同的奇怪字符

同样的代码针对Python2.7进行了调整,在Python2.7中,我没有打印函数的括号,因此生成的文本没有unicode。有什么原因吗

请注意,我目前的解决方案是使用python的.replace for Python3来消除unicode,但是有更好的解决方案吗

请注意,这很好地解释了正在发生的事情,但我不理解为什么在python 2.7中没有出现这个问题

b'\xe2\x80\x9c'.decode()
它返回双引号

'“'

请编辑您的问题以包含来自pastebin链接的代码,这是因为在Python 3中。