0
点赞
收藏
分享

微信扫一扫

爬取抖音视频链接

霍华德 2024-02-01 阅读 15

1.找到爬取用户,查看是哪个接口返回 的视频链接:

url = https://www.douyin.com/aweme/v1/web/aweme/post/

2.copy curl 转为python脚本

headers = {
    'authority': 'www.douyin.com',
    'accept': 'application/json, text/plain, */*',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cache-control': 'no-cache',
    'cookie': 's_v_web_id=verify_lnmyd9s5_bwHIz4HM_h5jr_4gi1_9LqE_WDS8VI164WUC; ttwid=1%7CIaQkPisnPzNz7eGIJjk8PyrhaGTu0P26iFWV7Ckimt0%7C1701400085%7C4d829ad6e539c7bd106b0d539f3f8b8bff9394188202330a4c438d929866c559; douyin.com; device_web_cpu_core=8; device_web_memory_size=8; architecture=amd64; dy_swidth=1536; dy_sheight=865; csrf_session_id=99db4c50cbee347bd5a1d30cdea7b492; strategyABtestKey=%221701400087.451%22; volume_info=%7B%22isUserMute%22%3Afalse%2C%22isMute%22%3Atrue%2C%22volume%22%3A0.5%7D; xgplayer_user_id=849159166029; passport_csrf_token=164e2841c8afdf492cd56844fb2cbfc4; passport_csrf_token_default=164e2841c8afdf492cd56844fb2cbfc4; bd_ticket_guard_client_web_domain=2; stream_player_status_params=%22%7B%5C%22is_auto_play%5C%22%3A0%2C%5C%22is_full_screen%5C%22%3A0%2C%5C%22is_full_webscreen%5C%22%3A0%2C%5C%22is_mute%5C%22%3A1%2C%5C%22is_speed%5C%22%3A1%2C%5C%22is_visible%5C%22%3A0%7D%22; __ac_nonce=065694e2200a1e534207f; __ac_signature=_02B4Z6wo00f01mvNLOAAAIDC68.WosBywjZr7ShAAP-pR2x4-C9y81NHKOnFlSYfyDble.RsVxiabOPq-FBbzA0Gvgvf8ay5NhMe5Go7h43sVSSMs34QmWgI-g1IOT8l89BgyaGMQbHNdGZf9d; SEARCH_RESULT_LIST_TYPE=%22single%22; stream_recommend_feed_params=%22%7B%5C%22cookie_enabled%5C%22%3Atrue%2C%5C%22screen_width%5C%22%3A1536%2C%5C%22screen_height%5C%22%3A865%2C%5C%22browser_online%5C%22%3Atrue%2C%5C%22cpu_core_num%5C%22%3A8%2C%5C%22device_memory%5C%22%3A8%2C%5C%22downlink%5C%22%3A10%2C%5C%22effective_type%5C%22%3A%5C%224g%5C%22%2C%5C%22round_trip_time%5C%22%3A100%7D%22; bd_ticket_guard_client_data=eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCS21vL1lpU0oxYmJrTWw2V3hNcm13UnlCNGt0WFplSU9uLzMrajljTTZTZUk4SkZFczM2S1RTUEFxSzlxOWJDNkhwOExicWhvT0hYZC9wVG51d0tvd2c9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoxfQ%3D%3D; msToken=7Nb9-5Yz5Gh9KWiaQgFpIaUuUVSaMN5L5_NIdMHnDbK41P-JZQUfokm43lL642uERjNp49t-abcqiQZmAbfBHncSlCuGqQOtGhbv4N4wKo55xcSwlxlbcoa8yLHOwQ==; msToken=q8QYkZc2sO9RxsdYEICQR18yH4qiE36zxSTvkNQr9BNQ7lB-knxdcGq8oKwVfMMshy5VnvT0qN2YQzBi4QeZQQay4Uv7E0HBgctAmq-cTt6Txqs5lfyC6jzFz1gf5Q==; FORCE_LOGIN=%7B%22videoConsumedRemainSeconds%22%3A180%2C%22isForcePopClose%22%3A1%7D; tt_scid=LZIU0bsyhV6.epNdeL0IPaJUVDGAvbTHTTE8rC13nv3yCzCR.A..fbP0.ClY3HvDa4c1; IsDouyinActive=true; home_can_add_dy_2_desktop=%221%22',
    'pragma': 'no-cache',
    'referer': 'https://www.douyin.com/user/MS4wLjABAAAAf76eD89nWFz2gQyr6-44R-RtaUYj0H-EKTiV0Odfi52dCFpLijYIg-1VmNvQcUG0',
    'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'same-origin',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
}

response = requests.get(
    'https://www.douyin.com/aweme/v1/web/aweme/post/?device_platform=webapp&aid=6383&channel=channel_pc_web&sec_user_id=MS4wLjABAAAAf76eD89nWFz2gQyr6-44R-RtaUYj0H-EKTiV0Odfi52dCFpLijYIg-1VmNvQcUG0&max_cursor=0&locate_query=false&show_live_replay_strategy=1&need_time_list=1&time_list_query=0&whale_cut_token=&cut_version=1&count=18&publish_video_strategy_type=2&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1536&screen_height=865&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=119.0.0.0&browser_online=true&engine_name=Blink&engine_version=119.0.0.0&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=100&webid=7307457671476741684&msToken=q8QYkZc2sO9RxsdYEICQR18yH4qiE36zxSTvkNQr9BNQ7lB-knxdcGq8oKwVfMMshy5VnvT0qN2YQzBi4QeZQQay4Uv7E0HBgctAmq-cTt6Txqs5lfyC6jzFz1gf5Q==&X-Bogus=DFSzswVONlXANtOstz9QQe9WX7nH',
    headers=headers
)

3.处理响应,找到mp4,一层一层剥离

res = response.json()
url_list = res.get('aweme_list')
# print(url_list[1])
for i in url_list:
    url =  i.get('video').get('play_addr').get('url_list')[0]
    print("url:",url)

4.查看请求参数,含sec_user_id和X-Bogus,重点学习如何po解X-Bogus

找到对应行代码,打断点,切换条件断点,增加条件:

_0xc26b5e.openArgs[1].search("aweme/v1/web/aweme/post/")>=0

切换为日志断点,_0x2458f0['apply'](_0xc26b5e, _0x1f1790),输出结果

在切换为条件断点,如果结果长度大于等于28位即可.length ==28

在找到对应的函数,直接把全部js文件复制到pycharm

然后给对应函数设置为全局函数:

winodws.yyh = 函数名

userid=""  #这里要传userid

然后最下面打印Windows.yyh(userid,null)

5.后面再py文件里面解析js文件,把userid传过去,并拿到x-bogus


举报

相关推荐

0 条评论