抓取女神抖音信息
根据分享的主页链接,实现24小时监控点赞、粉丝、关注、喜欢的变化,从而系统了解她对抖音的痴迷程度:lol正式开始:
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×tamp=1603755850&utm_source=copy&utm_campaign=client_share&utm_medium=android&share_app_name=douyin
3、复制其中的sec_uid,这就是个人标识了,据我研究每个人的sec_uid是保持不变的
4、带入程序中{:1_918:},剩下的具体数据统计就交给在座的各位了
核心代码如下:
import requests
import json
import time
class Leader(object):
def __init__(self, secUid):
'''
初始化用户uid,生成request对象
'''
self.s = requests.Session()
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"
}
self.s.headers.update(headers)
self.secUid = secUid
def getBaseInfo(self):
'''
获取用户信息,返回字典
'''
url = "https://www.iesdouyin.com/web/api/v2/user/info/?sec_uid={}".format(
self.secUid)
res = self.s.get(url)
return res.json().get("user_info", {"none", "none"})
def getLeaderInfo(self, infoDict):
nickName = infoDict.get("nickname", "")
totalFavorited = infoDict.get("total_favorited", "")
# 点赞
followingCount = infoDict.get("following_count", "")
# 关注
followerCount = infoDict.get("follower_count", "")
# 粉丝
favoritingCount = infoDict.get("favoriting_count", "")
# 喜欢的作品数量
shortId = infoDict.get("short_id", "")
# 可被搜索的短id
awemeCount = infoDict.get("aweme_count", "")
# 发布内容数量
LeaderInfo = {}
LeaderInfo["nickName"] = nickName
LeaderInfo["totalFavorited"] = totalFavorited
LeaderInfo["followingCount"] = followingCount
LeaderInfo["followerCount"] = followerCount
LeaderInfo["favoritingCount"] = favoritingCount
LeaderInfo["shortId"] = shortId
LeaderInfo["awemeCount"] = awemeCount
return LeaderInfo
def save(self, LeaderInfo):
# 保存抓取数据
strInfo = json.dumps(LeaderInfo, indent=4, ensure_ascii=False)
print(strInfo)
def sleep(self, delay=15):
# 睡眠时间,秒
print("{}秒之后再次抓取".format(delay))
time.sleep(delay)
if __name__ == "__main__":
secUid = "MS4wLj*******xujYr-dU1rAP4pZPWo0esLAH8g6wWzKQcrF-Tm_E3A"
for i in range(10000):
leader = Leader(secUid)
baseInfo = leader.getBaseInfo()
leaderInfo = leader.getLeaderInfo(baseInfo)
leader.save(leaderInfo)
leader.sleep()
有喜欢的给个赞吧。谢谢!
lsp看见标题马上就点进来了 代码入口做了点小改动,适当的降低了使用门槛。
if __name__ == "__main__":
input_dyUrl = input("请输入抖音分享的用户链接:")
real_url = requests.get(input_dyUrl).url
sec_uid = re.findall('sec_uid=(.*?)&app=', real_url)
if len(sec_uid) > 0:
for i in range(110):
leader = Leader(sec_uid)
baseInfo = leader.getBaseInfo()
leaderInfo = leader.getLeaderInfo(baseInfo)
leader.save(leaderInfo)
leader.sleep() 为老兄你这份为大家着想的思想点赞{:301_1000:} 会不会涉及到个人隐私? 不错。。。。。。。。。。。。。。。。 老哥为广大网友着想 bingshen 发表于 2020-12-12 09:10
会不会涉及到个人隐私?
不会用啊 真的优秀啊 铁子,晚点试下 优秀 ,实验实验 嘎嘎嘎 感谢楼主的用心 不错。。