Coder Social home page Coder Social logo

douyinlivewebfetcher's Introduction

抖音网页版弹幕数据抓取

声明:本代码库所有代码均只用于学习研究交流,严禁用于包括但不限于商业谋利、破坏系统、盗取个人信息等不良不法行为,违反此声明使用所产生的一切后果均由违反声明使用者承担。

侵权或涉及相关利益请联系作者:微博B站邮箱

2024年1月2日

环境:

  • windows 10
  • python 3.7+
  • protoc版本:libprotoc 25.1

有效测试:

  • 2024/03/11 08:46 成功
  • 2024/03/13 22:51 成功
  • 2024/03/17 20:36 成功
  • 2024/03/20 19:44 成功
  • 2024/03/23 11:12 成功
  • 2024/03/25 20:18 成功 爱因斯坦他有奶便是娘
  • 2024/04/2 19:09 成功
  • 2024/04/10 19:56 成功
  • 2024/04/15 20:13 成功 新增解析
  • 2024/04/21 09:48 成功
  • 2024/04/22 19:23 成功
  • 2024/05/01 08:14 成功 五一快乐
  • 2024/05/05 09:25 成功
  • 2024/05/07 20:34 成功
  • 2024/05/25 17:20 成功
  • 2024/05/27 18:58 成功
  • 2024/05/31 20:28 成功
  • 2024/06/01 09:33 成功 节日快乐
  • 2024/06/10 08:52 成功 端午安康
  • 2024/06/29 15:52 成功 更新接口

抓取样例:

【进场msg】[79026102598][男]🌈尘埃🌈🌈 进入了直播间
【进场msg】[3548874980203464][男]姚先生 进入了直播间
【进场msg】[2594451873598365][女]王大锤锤锤 进入了直播间
【进场msg】[106602887532][男]嗨! 进入了直播间
【进场msg】[1082384846973134][男]青泥湖茶食会所 进入了直播间
【进场msg】[94817345810][男]每天都要看妞,只为心情愉悦 进入了直播间
【进场msg】[83021093936][男]和财汽贸 进入了直播间
【进场msg】[106001704984][男]静能生慧 进入了直播间
【进场msg】[70493659812][男]格  局๑҉ 进入了直播间
【进场msg】[76589441190][女]大龙 进入了直播间
【进场msg】[70881184745][男]李浩哲 进入了直播间
【进场msg】[100754703019][男]RussB 进入了直播间
【进场msg】[102074576531][男]瞳可道 进入了直播间
【礼物msg】X L 送出了 为你点亮x1
【进场msg】[6782769126][男]舒克先生 进入了直播间
【进场msg】[59189841620][女]冷瞳 进入了直播间
【进场msg】[72741706046][男]I'm glad to be part of you 进入了直播间
【点赞msg】小程๑ 点了9个赞
【进场msg】[1543342918217780][男]上班很烦丶 进入了直播间
【点赞msg】山东秋实微耗节能灶 点了12个赞
【进场msg】[70657797444][男]🌈itsDav 进入了直播间
【进场msg】[98472911773][男]真的小狮子 进入了直播间
【进场msg】[69456861335][男]何苦 进入了直播间
【进场msg】[81597830598][男]毣 进入了直播间
【统计msg】当前观看人数: 22164, 累计观看人数: 43.6万
【进场msg】[97729506904][男]流年 进入了直播间
【聊天msg】[67197561586]说谎: 去拿 去拿去哪
【进场msg】[1772006534547923][男]111 进入了直播间
【进场msg】[1437751228776316][女]🌈星辰 进入了直播间
【进场msg】[84994892671][男]浅蓝色的期许 进入了直播间
【聊天msg】[58977458943]🌈烹世酌生: 厕所里有6倍
【礼物msg】X L 送出了 为你点亮x1
【点赞msg】小程๑ 点了11个赞
【点赞msg】山东秋实微耗节能灶 点了1个赞
【进场msg】[2286579209737694][男]🐭🐮🐍🐔 进入了直播间
【进场msg】[60451809684][男]Nine九妹纸 进入了直播间
【进场msg】[84538127235][男]🆑No smoking 进入了直播间
【进场msg】[3984224739660126][男]か大龍貓か 进入了直播间
【进场msg】[77098767219][男]魑魅魍魉 进入了直播间
【进场msg】[25526482899][女]乘风 进入了直播间
【进场msg】[1939189844950083][男]一个疯批帅哥 进入了直播间
【点赞msg】小程๑ 点了9个赞
【进场msg】[71283358628][男]🌈纯黑 进入了直播间
【点赞msg】山东秋实微耗节能灶 点了8个赞
【进场msg】[1559550207732659][女]用户5865026012091 进入了直播间
【礼物msg】🐷囔囔滴男盆友 送出了 粉丝团灯牌x1
【进场msg】[71297253367][男]ꪏꪶꪭꪆꪮ   皮 进入了直播间
【进场msg】[108182840023][男]Time 进入了直播间
【进场msg】[3918302612818491][女]用户4168810991567 进入了直播间
【进场msg】[108698785871][男]万一啊 进入了直播间
【进场msg】[24033588453][男]Intro 进入了直播间
【点赞msg】小程๑ 点了3个赞
【点赞msg】山东秋实微耗节能灶 点了1个赞
【礼物msg】安好. 送出了 入团卡x1
【进场msg】[87369427576][男]失格 进入了直播间
【粉丝团msg】 恭喜 安好. 成为粉丝团第289687名成员
【进场msg】[96183051026][男]王胖子 进入了直播间
【进场msg】[3931489880510067][男]leee 进入了直播间
【统计msg】当前观看人数: 22140, 累计观看人数: 43.6万
【进场msg】[73874992083][男]😦 进入了直播间

douyinlivewebfetcher's People

Contributors

saermart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

douyinlivewebfetcher's Issues

大神.WebSocket connected.WebSocket error: Connection to remote host was lost..

大神, 昨天抖音的爬取还可以用. 今天早上发现就变成了"INFO:websocket:Websocket connected
WebSocket connected.WebSocket error: Connection to remote host was lost.
ERROR:websocket:Connection to remote host was lost. - goodbye
ERROR:websocket:error from callback DouyinLiveWebFetcher._wsOnClose() missing 1 required positional argument: 'close_base'
WebSocket error: DouyinLiveWebFetcher._wsOnClose() missing 1 required positional argument: 'close_base'" B站我还私信了你.
微信图片_20240503140139
-.-改了些代码, 但是用另外一台电脑下载源项目也是这个反应, 也应该不是IP. 用了VPS转Tun模式也是一样. 就很迷, 昨天些代码还可以用. 今早起来发现连不到服务器了. 是我的问题还是项目?

长时间去获取,终于被拉黑了,这种该如何去规避呢?

WebSocket error: Handshake status 200 OK -+-+- {'server': 'Tengine', 'content-length': '0', 'connection': 'keep-alive', 'date': 'Thu, 20 Jun 2024 11:20:03 GMT', 'handshake-msg': 'DEVICE_BLOCKED', 'handshake-status': '415', 'server-timing': 'inner; dur=83', 'x-tt-trace-host': '01fdc36f8a940d17f868057b0a967d4625fe855bea22c6de623ad77d9a68c3c79b9e93c17211f50599c1d411b2acaaca743c3091e388bb93a975e4624c52c43ba66e00d49cdb0cb0d1bc001dda0e93cccdec03dcdb6ccbb0ff2b522572cedbb46f', 'x-tt-trace-tag': 'id=03;cdn-cache=miss;type=dyn', 'x-tt-trace-id': '00-240620192003A11B6919904367DA19FA-26267C3448A6C175-00', 'x-tt-logid': '20240620192003A11B6919904367DA19FA', 'via': 'vcache16.cn5907[204,0]', 'timing-allow-origin': '*', 'eagleid': '717de42417188824036548184e'} -+-+- b''

大佬WebSocket error: Connection to remote host was lost

WebSocket error: Connection to remote host was lost.
WebSocket error: DouyinLiveWebFetcher._wsOnClose() takes 2 positional arguments but 4 were given
代码没有任何改动,跑一会就这样了,多次运行都是这样

调用几次就废了,提个建议,可以在获取cookie的位置弹出窗口打开抖音直播页面,然后由人工扫码登录以后获取到Cookie

【X】Request the live url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live room url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: /878471479841 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live room url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: /878471479841 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live room url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: /878471479841 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live room url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: /878471479841 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
【X】Request the live url error: HTTPSConnectionPool(host='live.douyin.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)')))
WebSocket error: Handshake status 502 Bad Gateway -+-+- {'server': 'Tengine', 'content-type': 'text/html', 'content-length': '550', 'connection': 'keep-alive', 'date': 'Sun, 18 Feb 2024 08:40:52 GMT', 'proxy-status': '0000201502301102', 'x-tt-trace-host': '0111df544d7f71817403aab46f317c3546cde959325b16508359e5cdf0b8791756437b8a0b7319d471f85a93f642d0f8906a6e9b1a327f3a0c683f595ad15cce94', 'x-tt-trace-tag': 'id=03;cdn-cache=miss;type=dyn', 'x-tt-trace-id': '00-240218164052FEEC55BB30F0B2A703A7-48D3C66468F664CE-00', 'x-tt-logid': '20240218164052FEEC55BB30F0B2A703A7', 'x-alicdn-da-ups-status': 'endOs,0,502', 'via': 'ens-cache21.cn6725[87,0]', 'timing-allow-origin': '*', 'eagleid': '1bde141917082456519776383e'} -+-+- b'\r\n<title>502 Bad Gateway</title>\r\n\r\n

502 Bad Gateway

\r\n
TLB\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n'
WebSocket error: DouyinLiveWebFetcher._wsOnClose() takes 2 positional arguments but 4 were given

爬不到弹幕的问题,我也在找解决办法,应该是要获取登录状态,然后拿去链接ws

之前我就提过了,被删除了。
很难得重现这个问题,重现条件是,当前电脑浏览器打开抖音直播,弹窗需要登录,这个时候,是爬取不到弹幕的。
为什么需要会弹窗登录呢?已知,这是一个直播公司,公司只有一个光猫,这个公司应该很多电脑打开了抖音直播,ip被和谐了?但是重启光猫了也没有用。并且这个公司其他电脑打开网页的抖音直播,都是强制弹窗 需要登录。
一般来说浏览器打开抖音直播,是不需要登录,就能看到右侧的弹幕信息,这也是爬虫实现的原理,因为目前的爬虫,都是不登录的。

连接中断

当直播间20秒没有任何动静的时候,会出现
WebSocket error: Connection to remote host was lost.
WebSocket error: DouyinLiveWebFetcher._wsOnClose() takes 2 positional arguments but 4 were given
程序就直接结束了,怎么解决

运行时老是报错啊,

老哥们,为什么有时候运行中会提示 WebSocket error: Connection to remote host was lost. WebSocket error: DouyinLiveWebFetcher._wsOnClose() takes 2 positional arguments but 4 were given,有人遇到这个问题没

连接被断开

你好,请问我连接上了,服务器不会给我发送任何消息,然后就被断开了,这种情况是不是需要加cookie,具体需要加哪些呢?我带了登录cookie还是会被断开

大神,需要更新了

今天抖音似乎改数据了,抓到的数据不准,例如1314个小心心这种预设的数量抓到的数据只有1个,小心心连击会返回2次数据。
那种连击礼物有没有办法识别啊,现在抓取是按111、112、113这样返回数据的,统计出来就成了数列累加了。

发现个BUG

礼物数量为10的时候会显示10,大佬可以修复吗

WebSocket error

WebSocket connected.
WebSocket error: Connection to remote host was lost.
WebSocket error: DouyinLiveWebFetcher._wsOnClose() takes 2 positional arguments but 4 were given

WSS报错200

之前运行的挺正常的,但是今天突然就用不了了 WSS报错
不知道是账号被风控了 还是验证方法改了

以下是报错信息

aiohttp.client_exceptions.WSServerHandshakeError: 200, message='Invalid response status', url=URL('wss://webcast3-ws-web-lq.douyin.com/webcast/im/push/v2/?app_name=douyin_web&version_code=180800&webcast_sdk_version=1.3.0&update_version_code=1.3.0&compress=gzip&internal_ext=internal_src:dim%7Cwss_push_room_id:7382522869470808883%7Cwss_push_did:7382522869470808883%7Cdim_log_id:202302171547011A160A7BAA76660E13ED%7Cfetch_time:1676620021641%7Cseq:1%7Cwss_info:0-1676620021641-0-0%7Cwrds_kvs:WebcastRoomStatsMessage-1676620020691146024_WebcastRoomRankMessage-1676619972726895075_AudienceGiftSyncData-1676619980834317696_HighlightContainerSyncData-2&cursor=t-1676620021641_r-1_d-1_u-1_h-1&host=https://live.douyin.com&aid=6383&live_id=1&did_rule=3&debug=false&endpoint=live_pc&support_wrds=1&im_path=/webcast/im/fetch/&user_unique_id=7382522869470808883&device_platform=web&cookie_enabled=true&screen_width=1440&screen_height=900&browser_language=zh&browser_platform=MacIntel&browser_name=Mozilla&browser_version=5.0%20(Macintosh;%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/110.0.0.0%20Safari/537.36&browser_online=true&tz_name=Asia/Shanghai&identity=audience&room_id=7382522869470808883&heartbeatDuration=0&signature=00000000')

WebSocket error: empty or no certificate,

WebSocket error: empty or no certificate, match_hostname needs a SSL socket or SSL context with either CERT_OPTIONAL or CERT_REQUIRED
大佬,报错 需要证书 请问您遇到过吗 如何解决的

WebSocket error: ("hostname 'webcast3-ws-web-lq.douyin.com' doesn't match either of '*.alicdn.com', '*.cmos.greencompute.org', 'cmos.greencompute.org', 'm.intl.taobao.com', '*.mobgslb.tbcache.com', 'alikunlun.com', '*.alikunlun.com', 's.tbcdn.cn', '*.django.t.taobao.com', 'alicdn.com'",) WebSocket connection closed.

WebSocket error: ("hostname 'webcast3-ws-web-lq.douyin.com' doesn't match either of '.alicdn.com', '.cmos.greencompute.org', 'cmos.greencompute.org', 'm.intl.taobao.com', '.mobgslb.tbcache.com', 'alikunlun.com', '.alikunlun.com', 's.tbcdn.cn', '*.django.t.taobao.com', 'alicdn.com'",)
WebSocket connection closed.

大佬 报错如上

收取礼物包问题

1.收取的礼物通讯包会是两个一样的先后发送,导致同一个礼物接收两次,需要一个静态列表检测礼物包是否收过
2.在观众多次点击送礼物连击的时候,会重复接收礼物包导致数量偏多,和上一个问题类似,但收到的不是同一个包,包id不一样

太棒了

一次成功,希望能持续更新。

是否有一种新思路去链接ws

比如浏览器开启s5代理 链接到程序.然后直接只需要进行pb解包即可.至于环境包括登陆这些 就不需要管理了?
但是浏览器的话好像需要定时激活一下.写个js脚本半个小时激活下鼠标事件应该就可以 这样环境,cookie 这些检测都不需要怎么处理了

大佬,有办法解决吗?商家账号直播间无法获取数据

我的账号是商家账号,属于私密账号,未登录的用户爬取不到数据,
直接在没有登录抖音号的浏览器打开直播间链接显示:”服务器开小差了,点击刷新重试“
在已经登录抖音号的浏览器打开直播间正常显示:如下方的图片
image

没有心跳检查

当这个直播间没有人发送弹幕的时候
你这个websocket会超时断开
但是后面这个直播间又有人发消息 又收不到

报证书问题怎么解决呢

WebSocket error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1125)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.