python - Linux 将我的 URL 转换为符号?

标签 python linux debian

我有一个我一直在我的 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^@^@^@?

最佳答案

似乎是 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

关于python - Linux 将我的 URL 转换为符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34455829/

相关文章:

linux - 我的更新管理器未在 debian 中更新

python - 使用手套中的训练数据为您的数据集获取词嵌入

linux - 我将如何创建代表 linux grep 命令的流程图?

python - 使用正则表达式 python 匹配文件中的多行

linux - 如何 grep 查找目录中没有一组文件扩展名的所有文件?

linux - 如何编写一个 bash 脚本来给另一个程序响应

mysql - mysql grant 命令是什么意思?

ubuntu - 安装 Debian 软件包时禁用提示

python - subprocess.Popen ('start' ) 失败

Python:如何分割包含额外分隔符作为值的字符串