python模拟Get请求保存网易歌曲的url

python模拟Get请求保存网易歌曲的url

作者:vpoet

日期:大约在夏季

#coding:utf-8

import requests
import json

url = 'http://music.163.com//api/dj/program/byradio?radioId=271002&id=271002&ids=%5B%22271002%22%5D&limit=100&offset=0'

headers = {
    'Host': 'music.163.com',
    'Proxy-Connection': 'keep-alive',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept': '*/*',
    'Referer': 'http://music.163.com/outchain/player?type =4&id=271002&auto=1&height=430&bg=e8e8e8',
    'Accept-Encoding': 'gzip, deflate, sdch',
    'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4',
    'Cookie': 'outlink_h=1579; NETEASE_AUTH_SOURCE=space; NETEASE_AUTH_USERNAME=junlintianxiajun; playliststatus=visible; _ntes_nuid=688eb18445fe95b48abce1e832f4199e; usertrack=ezq0alNDSewrKRvmQjcIAg==; usertrack=ezq0B1Nfqr/AlSuNBAZUAg==; _ntes_nnid=688eb18445fe95b48abce1e832f4199e,1402975311348; JSESSIONID=ebaluB3sO-eAE4LPRcmBu; vjuids=-77f0fed0d.146e06a394e.0.5b912416; __oc_uuid=241a4ea0-08ee-11e4-a950-5198ccf9d747; __utma=187553192.874452700.1405077963.1405077963.1405077963.1; __utmc=187553192; SID=3b76dd6e-cc8e-40eb-8ee2-5696a3946b74; NTES_PASSPORT=kUy84AJ07Dw160XIsu72p3LPj8GkvB3YwsAMabzzKlJN4X0xpQBOS2NhqOaChzcFmV1rfdzmfygnaBqmWQGVWJ4vXAt24J8v.t79KmvEDs2ixKSg9KuUHcm2z; [email protected]|1410966073|1|mail163|11&15|jis&1410961280&carddav#jis&320100#10#0#0|158337&1|163&mail163&blog|[email protected]; NTES_SESS=0kUdYqi_Ct0Ir7SHTsjG_gLaItbpPoH.O5Xv2N8UuPGxeMp1Rj2Grz7QiG5AQkDN8FTUCbk8CYaOjpw.QCeNSlLz0wR6A7gn0v7swKyqiFBSuVOwWTf7FolapORjoNTunwXEYbe5W.wAn6uGiucXdbODFYfZuaEfkn7N5O4TL1t0kuNArGnGXz8zk; S_INFO=1411228890|1|0&80##|junlintianxiajun; ANTICSRF=787f683fdb2f9c4e2bf618927cfa140f; vjlast=1386821502.1413912750.21; ne_analysis_trace_id=1413912750268; vinfo_n_f_l_n3=4880b71680abdf9c.1.6.1404179731747.1409297575701.1413912782388; s_n_f_l_n3=4880b71680abdf9c1409297689233; playerid=84534266; JSESSIONID-163AS=ae221221df5cedc2a8d23a73b4e2f289c3f5867453d274c2fd512d648904f5ab1074ba028f5e629495be362f964012d480035d46d3d9ae744a6812691c695c84740a908c5993fc4913cc53044d2dc4ff7ff14e2f2e6b2cf450900282ba49203c04c187afa0f4e154018a53fdac68c718062eb4f84bf4b58b7569d9d802767b12; NETEASE_WDA_UID=2688375#|#1376910246232; MUSIC_U=7895b6d4e20ff9ebdbbdba907fbfff8fc94cd28437c9a97b4f278b01752a1778547307b043ee5661b2f2eb9346b4b12231b299d667364ed3; __csrf=cd2b96ffaee5f493a903b2598467ed6e; __remember_me=true; __utma=94650624.1128035981.1386494921.1419872891.1425794159.245; __utmb=94650624.8.10.1425794159; __utmc=94650624; __utmz=94650624.1389779298.46.2.utmcsr=twebmail.mail.163.com|utmccn=(referral)|utmcmd=referral|utmcct=/js5/main.jsp',
}

r = requests.get(url = url,headers = headers)
    #print(r.text.encode('utf8'))
result = json.loads(r.text)

file_to_save = open('mp3link.txt','w')

for each_item in result['programs']:
        #print(each_item['mainSong']['mp3Url'])
    file_to_save.writelines(each_item['mainSong']['mp3Url'] + '\n')

file_to_save.close()
print "SaveOver!"

运行结果:

时间: 2024-08-10 11:42:53

python模拟Get请求保存网易歌曲的url的相关文章

教你如何用Python模拟http请求(GET,POST)

模拟http请求有什么用呢? 我们现在使用的所有需要使用网络的:软件 应用 app 网站里面的绝大部分功能都是通过http协议来工作的 什么是http协议? http协议,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. 需要详细了解http请自行搜索,本文简单说一下http的请求过程 由客户端发送请求,请求为一段文字(请求报文),服务端得到请求中参数,由后端进行处理,然后执行相应的功能, 由服务端返回一段文字(响应报文,也

python模拟http请求2

发现了一个非常好用的第三方module:requests,模拟接口非常简单. 详细了解请移步:http://docs.python-requests.org/en/latest/ 非常不错 #!coding:utf-8    相信这句大家都懂的,不解释 #导入需要的requests import requests #定义请求头 reqheaders={'Content-type':'application/x-www-form-urlencoded',  'Accept':'text/html,

Python模拟http请求

1 #-*-coding:utf-8-*- 2 import urllib, urllib2 3 url = "http://www.love-sysu.com/cloud" 4 data = { 5 "name":"张小三", 6 "id":"12353032" 7 } 8 para = urllib.urlencode(data) 9 res = urllib2.urlopen(url+'?'+para

Python数据库访问公共组件及模拟Http请求

前言 最近一段时间除了忙于工作之外,在业余时,迷上了python,对它的跨平台深深的吸引.经过一段时间的自我学习,了解了其基本的语法,便开始自己着手摆弄起来.主要想把以前对接的接口再实现一次,以便于在做中发现问题,解决问题.只看不做,没有实际的操练,永远都是纸上谈兵.在此过程中遇到了许多问题,通过不断查询资料和请教基本完善了功能.现将自我觉得比较重要的部分拿出来和大家一起探讨一下,也顺便自己对此做个记录! 模拟Http请求 在请求别人接口时,我们最常使用的是模拟Http请求.在python中有许

浅析HTTP中POST和GET区别并用Python模拟其响应和请求

最近在几周在做手游崩溃信息收集和上传,拿到崩溃信息后,使用的是HTTP的POST方法上传到公司共用的服务器的,因此做简单总结.本文首先简单介绍了HTTP协议,主要说明了POST方法和GET方法的区别:然后用Python实现了 对POST方法和GET方法的响应:最后用Python模拟了POST方法和GET方法的请求. HTTP协议简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,简单来说它是一个应用层的协议,它允许将超文本标记语言(HTML)文档从W

Python模拟HTTP的POST请求

Python版本2.7.9 模拟POST请求 1 #coding:u8 2 import urllib 3 import urllib2 4 5 url = u"http://192.168.84.182:8000/Home/GetTheme" 6 params = urllib.urlencode({'name':'tom','age':22}) 7 8 req = urllib2.Request(url,params) 9 response = urllib2.urlopen(re

python利用requests模拟http请求及请求头

一.通过requests发送请求 之前一直使用urllib以及urllib2模拟http请求发送,在实际场景中,我们需要造自己定义好的header.body等等,使用urllib很麻烦,很偶然的机会,接触到了requests,可以通过发送xml.简单易用,直接上代码: requests  connected():          #通过形参传入url以及请求参数,get方法发送请求     (param):         get = requests.get(==param)        

python模拟163登陆获取邮件列表

利用cookielib和urllib2模块模拟登陆163的例子有很多,近期看了<python模拟登陆163邮箱并获取通讯录>一文,受到启发,试着对收件箱.发件箱等进行了分析,并列出了所有邮件列表及状态,包括发件人.收件人.主题.发信时间.已读未读等状态. 1.参考代码:http://hi.baidu.com/fc_lamp/blog/item/2466d1096fcc532de8248839.html%EF%BB%BF 1 #-*- coding:UTF-8 -*- 2 import urll

python的post请求抓取数据

python通过get方式,post方式发送http请求和接收http响应-urllib urllib2 python通过get方式,post方式发送http请求和接收http响应-- import urllib模块,urllib2模块, httplib模块 http://blog.163.com/[email protected]/blog/static/132229655201231085444250/ 测试用CGI,名字为test.py,放在apache的cgi-bin目录下:#!/usr