我有一个我在mac上开发的脚本,它使用scrapy,一个用于网页抓取的python库。我觉得一切都很好,直到我今天早上尝试将它加载到服务器上。
服务器运行Debian 8.2并且它可以正常运行。读取其已删除文件时出现问题。 Debian似乎将这个文件作为大量的符号(@n^@^@^@d^@^@^@e^@^@^@x^@^@^@.^@^@^@p
)读取,但是将文件上传到Dropbox并查看它会发现该文件实际上充满了URL。所以抓取很好,但文件无法正确读取。
我该如何解决这个问题?
更大的切片:
i^@^@^@n^@^@^@d^@^@^@e^@^@^@x^@^@^@.^@^@^@p^@^@^@h^@^@^@p^@^@^@i^@^@^@n^@^@^@d^@^@^@e^@^@^@x^@^@^@.^@^@^@p^@^@^@h^@^@^@p^@^@^@?^@^@^@s^@^@^@t^@^@^@r^@^@^@P^@^@^@a^@^@^@g^@^@^@e^@^@^@I^@^@^@D^@^@^@=^@^@^@S^@^@^@F^@^@^@0^@^@^@1^@^@^@_^@^@^@0^@^@^@3^@^@^@_^@^@^@0^@^@^@1^@^@^@.^@^@^@.^@^@^@/^@^@^@k^@^@^@o^@^@^@/^@^@^@.^@^@^@.^@^@^@/^@^@^@e^@^@^@n^@^@^@/^@^@^@.^@^@^@.^@^@^@/^@^@^@c^@^@^@n^@^@^@/^@^@^@i^@^@^@n^@^@^@d^@^@^@e^@^@^@x^@^@^@.^@^@^@p^@^@^@h^@^@^@p^@^@^@?
答案 0 :(得分:2)
似乎是UCS-2的问题(基本上是UTF-16)。在您的python程序中使用encoding='utf16'
或encoding='utf_16_be'
编码(请参阅详细信息here)。
您可以使用iconv
实用程序以这种方式将文件从UCS-2转换为UTF-8:
iconv -f UCS-2 -t UTF-8 inputfile > outputfile