Python 3 未找到 Unicode
Python 3 Unicode not found
我知道 unicode 在 python 3 中已更改为 str,但无论我如何编写此代码,我都会遇到同样的问题,谁能告诉我为什么?
我正在为一组特定的网络爬虫使用样板管道:
for urls in allUrls:
fileW = open('article('+ str(counter)+')', 'w')
articleDate = Article(urls)
articleDate.download()
articleDate.parse()
print(articleDate.publish_date)
fileW.write(str(Extractor(extractor='ArticleExtractor', url=urls).getText() + "\n\n\n" + str(articleDate.publish_date)+"\n\n\n"))
fileW.close
counter +=1
错误:
Traceback (most recent call last):
File "/Users/Adrian/anaconda3/lib/python3.6/site-packages/boilerpipe/extract/__init__.py", line 45, in __init__
self.data = unicode(self.data, encoding)
NameError: name 'unicode' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "webcrawl.py", line 26, in <module>
fileW.write(str(Extractor(extractor='ArticleExtractor', url=urls).getText() + "\n\n\n" + str(articleDate.publish_date)+"\n\n\n"))
File "/Users/Adrian/anaconda3/lib/python3.6/site-packages/boilerpipe/extract/__init__.py", line 47, in __init__
self.data = self.data.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
错误消息指向 boilerpipe/extract/__init__.py
中的一行,它调用了 unicode
内置函数。
我假设下面的 link 是您正在使用的包的源代码。如果是这样,它似乎是为 Python 2.7 编写的,如果您查看此文件的末尾附近,您可以看到它:
https://github.com/misja/python-boilerpipe/blob/master/setup.py
据我所知,您有几种选择:
- 找到此包的 Python 3 端口。至少有几个 (here's one and here's another)。
- 自己将包移植到 Python 3(如果这是唯一的错误,您可以简单地将该行更改为使用
str
,但以后的更改可能会导致包的其他部分出现问题). This official tool should be of assistance; this official guide 也应该。
- 将您的项目移植到 Python 2.7 并继续使用相同的包。
希望对您有所帮助!
我知道 unicode 在 python 3 中已更改为 str,但无论我如何编写此代码,我都会遇到同样的问题,谁能告诉我为什么?
我正在为一组特定的网络爬虫使用样板管道:
for urls in allUrls:
fileW = open('article('+ str(counter)+')', 'w')
articleDate = Article(urls)
articleDate.download()
articleDate.parse()
print(articleDate.publish_date)
fileW.write(str(Extractor(extractor='ArticleExtractor', url=urls).getText() + "\n\n\n" + str(articleDate.publish_date)+"\n\n\n"))
fileW.close
counter +=1
错误:
Traceback (most recent call last):
File "/Users/Adrian/anaconda3/lib/python3.6/site-packages/boilerpipe/extract/__init__.py", line 45, in __init__
self.data = unicode(self.data, encoding)
NameError: name 'unicode' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "webcrawl.py", line 26, in <module>
fileW.write(str(Extractor(extractor='ArticleExtractor', url=urls).getText() + "\n\n\n" + str(articleDate.publish_date)+"\n\n\n"))
File "/Users/Adrian/anaconda3/lib/python3.6/site-packages/boilerpipe/extract/__init__.py", line 47, in __init__
self.data = self.data.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
错误消息指向 boilerpipe/extract/__init__.py
中的一行,它调用了 unicode
内置函数。
我假设下面的 link 是您正在使用的包的源代码。如果是这样,它似乎是为 Python 2.7 编写的,如果您查看此文件的末尾附近,您可以看到它:
https://github.com/misja/python-boilerpipe/blob/master/setup.py
据我所知,您有几种选择:
- 找到此包的 Python 3 端口。至少有几个 (here's one and here's another)。
- 自己将包移植到 Python 3(如果这是唯一的错误,您可以简单地将该行更改为使用
str
,但以后的更改可能会导致包的其他部分出现问题). This official tool should be of assistance; this official guide 也应该。 - 将您的项目移植到 Python 2.7 并继续使用相同的包。
希望对您有所帮助!