网易云音乐评论爬取(python3.6和pymongo)所遇到的坑

  百度,谷歌,github上关于python爬取网易云音乐评论的文章和代码非常多,但是大多数都是基于python2.7(运行会报错误)。即使时github上点赞数最高的文章,使用python3.6亲测,依旧会报错误。所以这篇文章算给众多前辈们写的文章的小小补充,也给像我一样的python爬虫小白们一丁点帮助。
  想要爬取评论难点在于获得这个表单请求的两个参数params和encSecKey。这里大多数博客的方法都正确。我是参考知乎用户平胸小仙女的回答。感兴趣的朋友直接去知乎里面看就行。

坑1

  • 我想说的是我在按照他们的代码执行时总是报一个错误,
    网易云音乐评论爬取(python3.6和pymongo)所遇到的坑_第1张图片
    错误

    定位到代码中,是在获得第一个参数的时候出错误。


    网易云音乐评论爬取(python3.6和pymongo)所遇到的坑_第2张图片
    image.png

    这里的解决方案是: return str(encrypt_text, encoding="utf-8"),将其返回时,转化为字符串且指定编码格式。(非常重要,我就是在这里差不多耗了快两天的时间。大神勿笑)

坑二

  • 当导入加密所属的AES的库时,因为import 语句中是from Crypto.Cipher import AES 当时无论使用pip 试试pycharm安装 crypto 都显示AES不存在,这里应该引入的是pycrypto.

坑三

  • win系统缺少Microsoft visual c++ 安装Microsoft visual c++ build tools ,这个比较简单,正常安装就好。

坑四(坑三安装好了build tools 之后)

  • 继续安装会出现C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.”错误,根据提示下载缺少的东西,然后安装
  • 解决:新建用户环境变量名字:VCINSTALLDIR 值 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC(安装刚才下载工具如果是默认安装,就是这个路径)
    命令行中进入这个路径,同时执行 vcvarsall.bat文件
    执行语句:set CL=/FI"%VCINSTALLDIR%\INCLUDE\stdint.h"
    再次pip3 install pycrypto就OK

你可能感兴趣的:(网易云音乐评论爬取(python3.6和pymongo)所遇到的坑)