python-抖音

抖音请求的分析

抖音的请求是get请求

https://api.amemv.com/aweme/v1/feed/?type=0&max_cursor=0&min_cursor=0&count=6&volume=0.0&pull_type=0&need_relieve_aweme=0&ts=1525675553&app_type=normal&os_api=22&device_type=OPPO%20A59s&device_platform=android&ssmix=a&iid=31900926818&manifest_version_code=181&dpi=320&uuid=864240031730598&version_code=181&app_name=aweme&version_name=1.8.1&openudid=8531f958fac4ea56&device_id=38630195725&resolution=720*1280&os_version=5.1&language=zh&device_brand=OPPO&ac=wifi&update_version_code=1810&aid=1128&channel=update&_rticket=1525675545487&as=a185af7ef1821ad6cf8747&cp=f928a55b12f9e963e1pfqr&mas=0077b6cf28ae3442dbe6add8e5be11802cec2cec1c66c66c26868c

https://api.amemv.com/aweme/v1/feed/?type=0&max_cursor=0&min_cursor=-1&count=6&volume=0.0&pull_type=2&need_relieve_aweme=0&ts=1525675820&app_type=normal&os_api=22&device_type=OPPO%20A59s&device_platform=android&ssmix=a&iid=31900926818&manifest_version_code=181&dpi=320&uuid=864240031730598&version_code=181&app_name=aweme&version_name=1.8.1&openudid=8531f958fac4ea56&device_id=38630195725&resolution=720*1280&os_version=5.1&language=zh&device_brand=OPPO&ac=wifi&update_version_code=1810&aid=1128&channel=update&_rticket=1525675813162&as=a1c52f8ebc923ae76f7935&cp=fe24a85ac4f4e77ce1sinc&mas=00807a6bec7afe12883c50927f65cc5680accc9cec666ceca686cc

请求中会变的参数 

min_cursor 首次打开软件请求值为0,之后的请求不变-1

pull_type 首次打开软件请求值为0,之后的请求2

As

cp

Ts

_rticket

Mas 


响应

抖音中的广告是以视频形式出现的,与普通短视频形式一样,单从视频来看

https://aweme.snssdk.com/aweme/v1/feed/?

https://api.amemv.com/aweme/v1/feed/?

都能得到响应

url失效时返回体

{

"status_code": 2145,

"extra": {"logid": "20180508113012010015033040956D7E", "now": 1525750212973, "fatal_item_ids": []}

}

有效时间返回体中包含参数

{

"max_cursor": 0,

“aweme_list”:[],

refresh_clear": 1,

"extra": {

"logid": "2018050709365501001507704445698C",

"now": 1525657016333,

"fatal_item_ids": []

},

"has_more": 1,

"status_code": 0,

"home_model": 1,

"rid": "2018050709365501001507704445698C",

"min_cursor": 0

}

 

广告包含在响应的结果中,如果是广告的话其中的会有以下参数

is_adstrue

is_ad_faketrue

button_text:’’#一般是立即下载(软件)或者查看详情(购物网站)

show_button_seconds:两秒后出现button


Dict.has_key()

对于返回的数据需要进行处理,python中大小写敏感,TrueFalse才是布尔值正确写法,python中没有null,有类型None

未解决问题

变动参数的算法

AscpTs_rticketMas同时变化,请求才会有效,每个url有效时间只有十几分左右


目前思路:

1.找到参数变动规律(可行性不太大)

2.将花瓶监听到的url保存下来

 

urlopen的使用

打开一个网页获取所有内容

from urllib import urlopen

doc=urlopen(‘www.baidu.com’).read();

Print doc;


视频文件的保存

from urllib import urlopen;

doc=urlopen(‘https://aweme.snssdk.com/aweme/v1/play/?video_id=v02033880000bbm43tppjc2ve0cc2ilg&line=0&ratio=default&watermark=0&media_type=4&vr_type=0&test_cdn=None&improve_bitrate=0’).read();


with open(‘zhonghua.mp4’,’wb’) as f: 

f.write(doc);



猜你喜欢

转载自blog.csdn.net/benben0729/article/details/80244436