网页版douyin.com评论获取二

书接上回,现在已经得到了数据了,接下来就是解析了

一、json.loads()模块

返回的数据都是以字符串的格式,这对于我们对其进行分析和解析使用是非常不利的,毕竟没人想要用正则来匹配这么多字符。

在python的内置模块中,有一个json模块可以帮助我们将response.text由字符串转为json格式

json_text = json.loads(response.text)

然后我们将每一次得到的数据放到支持json格式化的网页上,进行解析分析。

二、用json规则提取我们需要的信息

(一)解析结果

使用解析工具,每一次请求我们就得到了类似

 

这样格式的数据内容,然后就是分析这些内容在浏览器的渲染出的结果是什么,并进行提取。

(二)提取评论

1.其实找出每个对象它所对应的位置就是重复的对比以及用变量名去猜测以及对应。

2.在本例中评论就是在comments中,所以我们直接

comments = json_text["comments"]

得到的内容就是请求得到的评论内容以及一些其他属性,继续进行json格式化分析

可以看到其实就是一个comments列表,只需要对这个列表进行循环处理其中的每一个字字典,就可以得到想要的评论和其他数据内容了。就类似于上述的取到comments的步骤一样,这里不做演示了哈!但是注意cid这个属性内容,下一篇会用到。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
由于抖音网页的弹幕是通过WebSocket实时传输的,因此我们需要使用Python的WebSocket库来获取弹幕。以下是一个简单的脚本,可以实现获取弹幕的功能: ```python import websocket import json def on_message(ws, message): try: data = json.loads(message) if data['type'] == 'heartbeat': ws.send('{"type":"heartbeat"}') elif data['type'] == 'danmaku': print(data['content']['text']) except Exception as e: print(e) def on_error(ws, error): print(error) def on_close(ws): print("### closed ###") def on_open(ws): ws.send('{"type":"login","client_key":"","room_id":"721566291052"}') ws.send('{"type":"start_heartbeat"}') if __name__ == "__main__": websocket.enableTrace(True) ws = websocket.WebSocketApp("wss://danmuproxy.douyin.com/ws/chatroom", on_message = on_message, on_error = on_error, on_close = on_close) ws.on_open = on_open ws.run_forever() ``` 首先,我们导入了WebSocket库和json库。然后,我们定义了四个回调函数: - `on_message`:当WebSocket接收到消息时,该函数将被调用。在此函数中,我们首先使用json库将消息转换为Python对象。然后,我们检查消息类型是否为“heartbeat”或“danmaku”。如果是“heartbeat”,则发送一个心跳包以保持连接。如果是“danmaku”,则从消息中提取弹幕文本并将其打印出来。 - `on_error`:当WebSocket发生错误时,该函数将被调用。在此函数中,我们简单地打印出错误信息。 - `on_close`:当WebSocket关闭时,该函数将被调用。在此函数中,我们简单地打印一

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值