p697 / cloudmusic

网易云爬虫解决方案
http://cloudmusic.cool/
MIT License
102 stars 30 forks source link

search 功能无法使用 #3

Open mz2sj opened 4 years ago

mz2sj commented 4 years ago

<ipython-input-6-0adcbb9dc1be> in <module>()
----> 1 cloudmusic.search("白日", 100)

4 frames
/usr/local/lib/python3.6/dist-packages/cloudmusic/cloudmusic.py in search(para, number)
     19 def search(para, number=5):
     20     with sessions.Session() as session:
---> 21         return session.search(para, number)
     22 
     23 

/usr/local/lib/python3.6/dist-packages/cloudmusic/sessions.py in search(self, content, number)
     87             "number" : str(number)
     88         }
---> 89         ids = self.api.search(para)
     90 
     91         musicList = self.request("song", ids)

/usr/local/lib/python3.6/dist-packages/cloudmusic/api.py in search(self, para)
     27         url = "https://music.163.com/weapi/cloudsearch/get/web"
     28         param = '{"hlpretag":"<span class=\\"s-fc7\\">","hlposttag":"</span>","s":"'+ para["string"] +'","type":"1","offset":"0","total":"true","limit":"'+ para["number"] +'","csrf_token":""}'
---> 29         return self.send(url, param)
     30 
     31 

/usr/local/lib/python3.6/dist-packages/cloudmusic/api.py in send(self, url, param)
     16         return query.post(url,
     17                         self.headers,
---> 18                         encrypt.encrypted_request(param))
     19 
     20     def get_song_url(self, para):

/usr/local/lib/python3.6/dist-packages/cloudmusic/query.py in post(url, headers, data)
     19         if "cloudsearch" in url:
     20             ids = []
---> 21             for li in json.loads(res.text)['result']['songs']:
     22                 ids.append(li["id"])
     23             return ids```
p697 commented 4 years ago

会不会是使用ipython的原由,去掉ipython试试呢

mz2sj commented 4 years ago

pacharm下又出现了新问题,还是不行

    return session.comment(self.para)
  File "D:\software\python36\lib\site-packages\cloudmusic\sessions.py", line 112, in comment
    return self.api.get_commets(para)["total"]
KeyError: 'total'
mz2sj commented 4 years ago

请问您那边可以正常使用嘛?我试用了其他几个功能,也不能正常使用。

p697 commented 4 years ago

我这边是正常的。你用的python版本是多少?

mz2sj commented 4 years ago

本地Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. IPython是在colab的notebook上运行的

mz2sj commented 4 years ago

您好,我又试了试在阿里云配置的服务器,可以正常使用了,看来确实是环境配置的问题。除此之外,请问可否添加歌曲的曲风类别属性,或者实现按歌曲曲风类别查找歌曲的功能。比如查找蓝调、摇滚的歌曲。我在网易云的界面上没有找到相关的曲风标签

p697 commented 4 years ago

嗯嗯,标签分类是个好主意,应该是可以做到的。这个库其实并不复杂,你感兴趣的话也欢迎你来参与建设