找回密码
  注册[Register]
查看: 24374|回复: 14

[python] 【Python】抓取女神抖音信息

  [复制链接]
发表于 2020-12-12 11:40 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

根据分享的主页链接,实现24小时监控点赞、粉丝、关注、喜欢的变化,从而系统了解她对抖音的痴迷程度
正式开始:
1、分享女生抖音主页面,在浏览器中打开个人主页链接大概长这样:https://v.douyin.com/J5n**GH/

2、短链接会自动跳转到长连接,长连接形如:https://www.iesdouyin.com/share/user/585163***20?u_code=16eel***k&sec_uid=MS4wLj*******xujYr-dU1rAP4pZPWo0esLAH8g6wWzKQcrF-Tm_E3A&timestamp=1603755850&utm_source=copy&utm_campaign=client_share&utm_medium=android&share_app_name=douyin
3、复制其中的sec_uid,这就是个人标识了,据我研究每个人的sec_uid是保持不变的
4、带入程序中,剩下的具体数据统计就交给在座的各位了
核心代码如下:
  1. import requests
  2. import json
  3. import time


  4. class Leader(object):
  5.     def __init__(self, secUid):
  6.         '''
  7.         初始化用户uid,生成request对象
  8.         '''
  9.         self.s = requests.Session()
  10.         headers = {
  11.             "User-Agent":
  12.             "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"
  13.         }
  14.         self.s.headers.update(headers)
  15.         self.secUid = secUid

  16.     def getBaseInfo(self):
  17.         '''
  18.         获取用户信息,返回字典
  19.         '''
  20.         url = "https://www.iesdouyin.com/web/api/v2/user/info/?sec_uid={}".format(
  21.             self.secUid)
  22.         res = self.s.get(url)
  23.         return res.json().get("user_info", {"none", "none"})

  24.     def getLeaderInfo(self, infoDict):
  25.         nickName = infoDict.get("nickname", "")
  26.         totalFavorited = infoDict.get("total_favorited", "")
  27.         # 点赞
  28.         followingCount = infoDict.get("following_count", "")
  29.         # 关注
  30.         followerCount = infoDict.get("follower_count", "")
  31.         # 粉丝
  32.         favoritingCount = infoDict.get("favoriting_count", "")
  33.         # 喜欢的作品数量
  34.         shortId = infoDict.get("short_id", "")
  35.         # 可被搜索的短id
  36.         awemeCount = infoDict.get("aweme_count", "")
  37.         # 发布内容数量
  38.         LeaderInfo = {}
  39.         LeaderInfo["nickName"] = nickName
  40.         LeaderInfo["totalFavorited"] = totalFavorited
  41.         LeaderInfo["followingCount"] = followingCount
  42.         LeaderInfo["followerCount"] = followerCount
  43.         LeaderInfo["favoritingCount"] = favoritingCount
  44.         LeaderInfo["shortId"] = shortId
  45.         LeaderInfo["awemeCount"] = awemeCount
  46.         return LeaderInfo

  47.     def save(self, LeaderInfo):
  48.         # 保存抓取数据
  49.         strInfo = json.dumps(LeaderInfo, indent=4, ensure_ascii=False)
  50.         print(strInfo)

  51.     def sleep(self, delay=15):
  52.         # 睡眠时间,秒
  53.         print("{}秒之后再次抓取".format(delay))
  54.         time.sleep(delay)


  55. if __name__ == "__main__":
  56.     secUid = "MS4wLj*******xujYr-dU1rAP4pZPWo0esLAH8g6wWzKQcrF-Tm_E3A"
  57.     for i in range(10000):
  58.         leader = Leader(secUid)
  59.         baseInfo = leader.getBaseInfo()
  60.         leaderInfo = leader.getLeaderInfo(baseInfo)
  61.         leader.save(leaderInfo)
  62.         leader.sleep()
复制代码


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-12-12 11:40 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 11:46 | 显示全部楼层

感谢分享,谢谢提供分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 11:55 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 12:06 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 12:11 | 显示全部楼层
谢谢大佬分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 12:27 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 13:17 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 13:18 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-12-12 15:01 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-14 03:32 , Processed in 0.037900 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表