前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >从DY用户页面获取作品列表

从DY用户页面获取作品列表

作者头像
李玺
发布于 2023-04-22 08:58:20
发布于 2023-04-22 08:58:20
1.9K01
代码可运行
举报
文章被收录于专栏:爬虫逆向案例爬虫逆向案例
运行总次数:1
代码可运行

最近DY的web端更新比较频繁,所以搞了很多方案来应对更新问题。

本文内容是其中一种方案,从用户主页的HTML响应内容中抽取user信息和作品列表数据。


下图中出现的内容都是在html名为RENDER_DATA的script标签中,以urlencode编码。

比如昵称、粉丝、获赞、地区、第一页的作品列表等。

取出来格式化后可转换成Json格式查阅。用户信息在user中,作品列表在data中。

接下来就是如何获取用户主页HTML文本。


分析测试

根据笔者的分析和测试,目前请求 /user/sec_user_id 需要提前准备好的参数有cookie中的 __ac_nonce、__ac_signature、ttwid。

现在ttwid作为了游客ID,权重甚至超过了校验参数 s_v_web_id。

__ac_nonce和ttwid是服务端返回的,但是如果直接从用户主页去获取ttwid,则需要有 s_v_web_id作为注册前提,所以可以从index页面去注册ttwid。

__ac_signature的生成在之前的文章中有过讲解,《DY__ac_signature》,所以本文不再复述了。


请求流程

直接把流程贴出来吧。__ac_signature的生成可参考之前的文章《DY__ac_signature》。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import re
from urllib import parse
import requests
import execjs

def get_ac_sign(ac_nonce):
    with open('_ac_signature.js', 'r', encoding='utf-8') as f:
        b = f.read()
    c = execjs.compile(b)
    d = c.call('get_ac_signature',ac_nonce)
    return d

def run(sec_user_id):
    sess = requests.session()
    headers_base = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    __ac_nonce = sess.get('https://www.douyin.com/',headers=headers_base).cookies.get('__ac_nonce')
    print(__ac_nonce)

    url = f"https://www.douyin.com/user/{sec_user_id}"
    __ac_signature = get_ac_sign(__ac_nonce)
    headers = {
        'authority': 'www.douyin.com',
        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'accept-language': 'zh-CN,zh;q=0.9,en-XA;q=0.8,en;q=0.7,zh-TW;q=0.6',
        'cache-control': 'max-age=0',
        'dnt': '1',
        'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"Windows"',
        'cookie': f'douyin.com; __ac_nonce={__ac_nonce}; __ac_signature={__ac_signature};',
        'sec-fetch-dest': 'document',
        'sec-fetch-mode': 'navigate',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-user': '?1',
        'upgrade-insecure-requests': '1',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    ttwid = sess.get('https://www.douyin.com/',headers=headers).cookies.get('ttwid')
    print(ttwid)

    headers.update({'cookie': f'__ac_referer=https://www.douyin.com/user/{sec_user_id}; douyin.com; __ac_nonce={__ac_nonce}; __ac_signature={__ac_signature}; passport_csrf_token=7bced54d39291bf977d263d082a365c9; passport_csrf_token_default=7bced54d39291bf977d263d082a365c9; ttwid={ttwid};'})
    response = sess.get(url, headers=headers)
    doc =re.findall('(.*?)', response.text, re.S)[0]
    data = json.loads(parse.unquote(doc))
    return data

if __name__ == '__main__':
    sec_user_id = "MS4wLjABAAAA8Ag2TMrWvfZWpLywypFRGhoL2_A8FdXawWfuh29bJWCJ_BCr23KY0S9O76eC4_oC"
    data = run(sec_user_id)
    if data.get('40'):
        print(data['40']['user'])       # IP地址、年龄、粉丝信息等
        print(data['40']['post'])       # 作品列表、bitRateList
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/04/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Python爬虫】如何把抖音美女小姐姐视频数据(高清、无水印)保存到硬盘里
现在自媒体平台上经常有一些视频素材需要保存下来,但是大部分平台下载下来都带上了平台水印,影响视频美观。这次我们用爬虫,可以爬到高清无水印的视频
松鼠爱吃饼干
2021/10/26
2.4K1
【Python爬虫】如何把抖音美女小姐姐视频数据(高清、无水印)保存到硬盘里
抖音 用户id转uid
https://download.csdn.net/download/qq_38154948/87769887
拉灯的小手
2023/05/10
1.7K1
Python 源代码 | 2024 版抖音评论采集爬虫
当时的重点只是讲 hook 这种方法,并不是采集抖音评论,有点为了这瓶醋包了这碗饺子的意思在里面。
月小水长
2024/01/12
5.8K7
Python 源代码 | 2024 版抖音评论采集爬虫
DY个人视频列表 最新
s_v_web_id 滑块验证,和x-b算法,之前文章有分析过,再次就不过多赘述了,有兴趣的可以去看下:https://cenjy.blog.csdn.net/article/details/126193773
拉灯的小手
2023/07/11
5180
2024研发:批量采集抖音博主的主页作品软件(可监控对标账号发布作品)
毫无疑问,抖音是目前国内最为火热的短视频社交平台,拥有海量用户和上亿日活。采集抖音个人主页作品数据可以用来分析该用户的热门作品、受众喜好、创作风格等信息,有助于了解用户的影响力和受欢迎程度。这些数据可以帮助营销人员选择合适的合作对象和推广策略,也可以帮助内容创作者优化自己的创作方向和提升影响力。
马哥小迷弟132
2024/06/29
4950
2024研发:批量采集抖音博主的主页作品软件(可监控对标账号发布作品)
批量爬取抖音个人主页视频
码农GT038527
2024/11/18
3220
批量爬取抖音个人主页视频
手把手教你抖音系列视频批量下载器开发
此时我们只需要点击 访问抖音主页,程序则会使用本地的谷歌游览器访问抖音主页。再次点击下载按钮:
Python进阶者
2022/03/10
2.2K0
手把手教你抖音系列视频批量下载器开发
x-ca-key,x-ca-nonce,x-ca-signature与x-ca-signature-headers探索
x-ca-key,x-ca-nonce,x-ca-signature与x-ca-signature-headers探索
九转成圣
2024/05/24
3970
使用python解析抖音短视频、抖音用户主页解析、抖音用户信息解析、获取抖音评论、搜索抖音数据、抖音直播间直链解析
代码从初始化MoreAPI开始,使用在注册帐户并获得MoreAPI服务访问权限后获得的令牌。
用户3684380
2023/09/16
5.9K0
使用python解析抖音短视频、抖音用户主页解析、抖音用户信息解析、获取抖音评论、搜索抖音数据、抖音直播间直链解析
同样是追星 ,他们是这样做的 。
最近我朋友疯狂迷恋韩国的偶像团体防弹少年团,于是拜托我帮忙写一段程序实时检测韩国新闻网站instiz旗下两个板块pt和clip,当出现自家idol的新闻时,程序能自动发微博通知她。我觉得这个功能还是蛮有意思的,程序实现起来并不复杂,而且妹子的请求不好意思拒绝,所以就答应她了。说干就干,程序实现如下。
小小詹同学
2018/10/22
5240
同样是追星 ,他们是这样做的 。
爬虫工程师也应该会的 NodeJS 知识(三)- 快速抛弃 execjs
Express 是一个基于 NodeJS 的 Web Server 开发框架,能够帮助我们快速的搭建 Web 服务器
咸鱼学Python
2020/09/08
9220
爬虫工程师也应该会的 NodeJS 知识(三)- 快速抛弃 execjs
python 爬取 instagram 用户的关注列表
这是很久之前我的房东找我帮忙爬 instagram 上面某个用户的关注列表,一开始我想着减低难度好给他使用,于是尝试了 webscraper,后羿采集器去爬取,结果吭哧吭哧花了两个多小时都没搞定。
伪君子
2019/12/15
7.7K1
用Python开发的抖音评论区采集软件,批量爬取评论(含二级)
采集软件的主要目标是实现笔记数据的自动化采集,包括笔记正文、发布时间、以及转评赞藏等关键信息。通过设计直观的界面,旨在让即使是技术小白也能轻松使用这款工具。
马哥python说
2024/01/27
10.6K3
用Python开发的抖音评论区采集软件,批量爬取评论(含二级)
Python爬虫学习教程,批量爬取下载抖音视频
Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取!
python学习教程
2019/07/18
3K0
Python爬虫学习教程,批量爬取下载抖音视频
Python实现抖音短视频去水印及批量获取用户主页无水印视频
首语 抖音,是由今日头条孵化的一款音乐创意短视频社交软件。该软件于2016年9月20日上线,是一个面向全年龄的短视频社区平台。 作为抖音的重度使用患者,每天刷着视频笑哈哈😄,不亦乐乎。可是大家都知道,抖音下载的视频是带水印的。作为一个有强迫症的程序猿,这是绝对不允许的。网上许多的去水印工具,它们的原理是咋样的,是写了一种特别厉害的算法嘛。好奇心驱使我开始了研究。 短视频去水印 分析 我们从抖音的分享链接入手,从抖音复制的分享链接格式如下: 2.82 wsr:/ Happy birthday to Kob
八归少年
2022/06/29
5K0
Python实现抖音短视频去水印及批量获取用户主页无水印视频
用python开发的抖音关键词搜索采集软件
抖音作为国内颇受欢迎的短视频社交平台,汇聚了大量用户群体和活跃用户。分析抖音上的热门视频可用于市场调研和竞品分析,帮助了解流行内容和趋势,从而为企业制定营销策略和推广方案提供参考。同时,抖音也可作为灵感源泉,帮助内容创作者发现新的创意和内容方向。
马哥小迷弟132
2024/07/07
4201
用python开发的抖音关键词搜索采集软件
【爬虫软件】2024研发:抖音评论区采集,包含二级评论!
众所周知,抖音是国内最火热的短视频社交平台,拥有上亿日活和海量用户,视频下方的评论区数据也是文本挖掘的重要目标,对于掌握热点方向、洞察用户心理、抓取目标数据大有帮助。
马哥小迷弟132
2024/06/27
1.1K0
【爬虫软件】2024研发:抖音评论区采集,包含二级评论!
PHP如何实现解析抖音无水印视频
很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的。这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单。
php007
2019/08/05
4.5K2
PHP如何实现解析抖音无水印视频
[Python] 首发,批量下载抖音单用户所有无水印视频
2).请求上述url,禁用重定向获取location的value,在正则提取出sec_id
@派大星
2023/06/28
1.3K0
[Python] 首发,批量下载抖音单用户所有无水印视频
抖音用户视频爬虫案例(2020)
https://blog.csdn.net/weixin_43582101/article/details/114291365
李玺
2021/11/22
9420
抖音用户视频爬虫案例(2020)
推荐阅读
相关推荐
【Python爬虫】如何把抖音美女小姐姐视频数据(高清、无水印)保存到硬盘里
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验