文档章节

Python爬虫实战之“网易云音乐绝对互粉”

登录-注册
 登录-注册
发布于 2017/02/26 22:07
字数 855
阅读 102
收藏 1
  • 这里是列表文本启动fiddler,打开网易晕音乐官网,进入个人中心粉丝模块 输入图片说明

  • 这里是列表文本查看在fiddler中抓到的包,进行分析 惊奇地发现有个方法叫做 getfollows 好巧哦! 输入图片说明

  • 这里是列表文本对比分析对你已经偷偷取消关注的人与没有对你取消关注的人的数据区别 输入图片说明

  • 这里是列表文本找一个已经对你取消关注的人进行“取消关注操作” 输入图片说明

  • 这里是列表文本编码分两步 第一步:获取你关注的但没有关注你的人 第二部:将这些人进行取关操作 在这个过程中遇到了一些麻烦主要是,网易云音乐对页码进行了加密,没法轻松地获取所有的对你取关的人,我这里采用的是比较笨的办法就是把三十多个跳也页的参数都手动复制下来放到文本文件中。 输入图片说明

  • 三十条页码参数记录- 输入图片说明

import urllib
import http.cookiejar
import ssl
import requests

抓取那些对你取关的人

def getNoMutal(params,enSecKey):
    print(params)
    print(enSecKey)
    data = {'params': str(params.strip()),
            'encSecKey':str(enSecKey.strip())}
    headers = {
    'POST http':'//music.163.com/weapi/user/getfollows/112272936?csrf_token=8c133a69f9cbf30a37e04ef55af6444f HTTP/1.1',
    'Host':'music.163.com',
    'Connection':' keep-alive',
    'Content-Length':' 512',
    'Originv http':'//music.163.com',
    'User-Agent':' Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36',
    'Content-Type':' application/x-www-form-urlencoded',
    'Accept':' */*',
    'Referer':' http://music.163.com/user/follows?id=112272936',
    'Accept-Encoding':' gzip, deflate',
    'Accept-Language':' zh-CN,zh;q=0.8',
    'Cookie':'你的cookie在fiddler中粘过来'}
    r = requests.post('http://music.163.com/weapi/user/getfollows/112272936?csrf_token=8c133a69f9cbf30a37e04ef55af6444f', data=data, headers=headers)
    print(r.text)
    import json
    data = json.loads(r.text)
    defollows=[]
    for follower in data['follow']:
        if follower['mutual']==False:
            defollows.append(follower['userId'])
    print('defollows:'+str(defollows))
    return defollows

对这些用户进行取关

def defollowed(defollows):
    data = {'params': 'c3S6p3BC4SU7idoGy4GpyJ/Az7LlSC0KmIcCfi9435TbeYMrSBtOqgFAqdIwoLecalp1RBLHOvfpuZ/RT3OfwSnJ/zs5TEW'
                       '+PqRWMrCHVcoqm4qFYK72Tm7aLSTCbATvINJ1JPBmDRFntv4TLRNaSA==',
            'encSecKey':'d577dd3f46d316483db1ea103e3e55d4d07cefb055135c4ae462c703c1d24061c6b0b67aa94c3eb10a52da65cc9321f6'
                        'd92b8e2b8635909ae4e0679e01f56a42dd4ff6f34375d0cfbd11cce355bdbfab385b3ea4834e777d17da4631a959b7e9f2'
                        'be23da3e908925bdb2500b5187a57dda16704b1fa9069cae85bdb02344d732'}
    header={
    #'POST http://music.163.com/weapi/user/delfollow/127028008?csrf_token=8c133a69f9cbf30a37e04ef55af6444f HTTP/1.1'
    'Host':' music.163.com',
    'Connection':' keep-alive',
    'Content-Length':' 438',
    'Origin':' http://music.163.com',
    'User-Agent':' Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36',
    'Content-Type':' application/x-www-form-urlencoded',
    'Accept':' */*',
    'Referer':' http://music.163.com/user/home?id=127028008',
    'Accept-Encoding':' gzip, deflate',
    'Accept-Language':' zh-CN,zh;q=0.8',
    'Cookie':'你的cookie在fiddler中粘过来''            
    }
    for id in defollows:
        print('id:'+str(id))
        url='http://music.163.com/weapi/user/delfollow/{userid}?csrf_token=8c133a69f9cbf30a37e04ef55af6444f'.format(userid=str(id))
        print('url:'+url)
        r = requests.post(url,data=data,headers=header)
        print('defollow {userid} {result}'.format(userid=id,result=r.text))

最后运行

if __name__ == '__main__':
    defollows=[]#getNoMutal()

    file = open("params&key")
    index=0
    while 1:
        index=index+1
        line = file.readline()
        if not line:
            break
        else:
            params=line.split('#')[0]
            enSecKey=line.split('#')[1]
            defollows.extend(getNoMutal(params,enSecKey))
    defollowed(defollows)
  • 运行脚本前

输入图片说明

  • 运行脚本后

输入图片说明

© 著作权归作者所有

共有 人打赏支持
登录-注册

登录-注册

粉丝 38
博文 37
码字总数 11215
作品 5
海淀
程序员
私信 提问
Python实用教学:如何用Python玩转各大网站

Hi~,各位小伙伴,Python是目前编程语言中的主流语言之一,也是公认最容易入门的编程语言,因为Python语言近几年的火爆,有很多小伙伴都开始学习这门语言。 编程语言学习,最重要的是“多看代...

W3Cschool小编
07/31
0
0
八月暑期福利,10本Python热门书籍免费送!

八月第一周,网易云社区联合博文视点为大家带来Python专场送书福利,10本关于Python的书籍内容涉及Python入门、绝技、开发、数据分析、深度学习、量化投资等。以下为书籍简介,送书福利请见文...

网易云
08/02
0
0
利用Python制作网易云音乐下载器

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 导语 似乎好久没有更爬虫相关的内容了。。。 而好多童鞋对爬虫相关的内容比较感兴趣。。。 于是打算更一波。。。 最近事情比较多,实在没...

W3Cschool小编
07/23
0
0
受困版权,有情怀的网易云音乐还能走多远?

常听的歌单里,又有几首歌变灰了,这是网易云音乐的用户们心里的痛。 7月28日大批韩文歌下架,紧接着8月10日夜,大批华语歌下架,一首跟着一首歌变成灰色。“我不得不用其他APP听歌了”,这句...

hexiaini235
2017/09/22
0
0
年薪20万Python工程师进阶(1):Python 资源 + 经典练手项目

Python 越来越火爆,最近自己也在学习。整理下一些 Python 资料,和练手的项目。希望对你学习 Python 有所帮助。 1、入门阶段 1 Python 官网 Python 官网 The Python Tutorialdocs.python.o...

程序员八阿哥
05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin中配置robot framework环境

本文永久更新地址:https://my.oschina.net/bysu/blog/2989005 【若要到岸,请摇船:开源中国 不最醉不龟归】 1.在终端中输入pip,回车,如果提示没有该命令,则先安转pip sudo apt-get inst...

不最醉不龟归
18分钟前
2
0
OSChina 周日乱弹 —— 钱不还,我就当你人不在了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享Bigleaf的单曲《小鹿》 《小鹿》- Bigleaf 手机党少年们想听歌,请使劲儿戳(这里) 周日在家做什么? 做手工呀, @poorfis...

小小编辑
今天
85
3
EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
20
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
29
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部