当前位置:首页 > 时尚生活

下栽抖音 用 Python 全自动下载抖音小姐姐视频

为什么写这篇文章,主要是因为看了一篇文章。

“在用Python粉碎了这些高价值的女神之后,她们突然成了生活中的赢家。”简单描述了一个工程师用Python+ADB+鹅厂AI在一个晚上关注了1000多个美女姐妹。

充分体现了大学生和工厂工人的区别。这里不得不说XX牛皮...

有一次我一个人在那个诺大工厂,想着自己的人生,想着自己该去哪里。

我记得那时候我也是靠刷刷抖嗓子度过悲惨的日子。

只是没有上面那个大哥厉害。我是一个人工识别的漂亮小姐姐...

即使现在我已经注册了鹅厂的AI账号,但是还是不能用。

那我们先从简单的开始,提前关注,然后用Python自动下载街拍视频!!!

/ 01 / Charles

用查尔斯找视频的API接口,具体操作和之前当当一样,就不细说了。

这里,视频的请求信息可以通过滑动颤音应用程序来获得。

通过多次实验发现,链接后面会不断变化,只有链接前面不变,即“http://v1-dy”、“http://v6-dy”、“http://v9-dy”不变。

因此,在编写脚本时,可以从这个信息作为链接开始。

/ 02 / mitmproxy

用mitmproxy中的mitmdump组件对接Python脚本,用Python实现监听后的处理。

这里我只是用脚本来获取链接,不直接用脚本下载视频。

因为我在mitmdump.exe文件所在的文件夹中运行脚本,所以请求模块不能导入到脚本中。

不想搞烦人的环境变量,所以只搞链接。

然后下载视频,视频链接需要复制,可能有重复的。

Python脚本如下。

defresponse(流量):

URL =[' http://v1-dy ',' http://v3-dy ',' http://v6-dy ',' http://v9-dy']

#过滤网址,只选择视频的网址

forurl inurls:

ifurl inflow.request.url:

打印(“颤音视频”)

withopen('douyin.csv ',' a+,编码='utf-8-sig') asf:

f.write(flow.request.url +' ')

/ 03 / Appium

为颤音配置Appium参数。

点击蓝色按钮,手机会自动启动颤音App!

接下来操作手机,然后点击Appium的刷新按钮,得到元素定位码。

通过这个实践,发现Appium有时候无法很好的得到元素的定位,可能就像Web端的iframe页面一样。

所以对于缺失的元素,我直接点击手机的屏幕位置。

因为手机屏幕尺寸不同,这个参数肯定会变化,所以有缺点,不能通用。

{左右滑动切换图片}

大致操作如上图。Upmaster的主页地图丢失。请自己拿定主意。Python代码如下。

importtime

importrandom

fromappium importwebdriver

from selenium . web driver . common . by import by

from selenium . web driver . support . ui importWebDriverWait

from app ium . web driver . common . touch _ action import TouchAction

from selenium . web driver . support import expected _ conditions ASec

defmain():

#设置驱动程序配置

服务器= 'http://localhost:4723/wd/hub '

desired_caps = {

平台名:“‘Android’,

设备名':' STF_AL00 ',

app PACkage ':' com . ss . Android . ugc . awe me ',

appActivity ':' . main . main activity ',

#关闭手机软键盘

“unicode键盘”:真,

“重置键盘”:真

}

driver = webdriver。远程(服务器,所需的_caps)

wait = WebDriverWait(驱动程序,60)

#同意用户隐私协议,点击

button_1 =等到(EC . presence _ of _ element _ located((By。ID,' com.ss.android.ugc.aweme:id/q6 '))

button_1 .单击()

#没有电话权限,点击

button_2 =等到(EC . presence _ of _ element _ located((By。ID,' com . Android . package installer:ID/permission _ deny _ button '))

button_2 .单击()

#禁止位置许可,点击

button_3 =等到(EC . presence _ of _ element _ located((By。ID,' com . Android . package installer:ID/permission _ deny _ button '))

button_3 .单击()

time.sleep(2)

#向上滑动进入颤音视频播放页面

触摸动作(驾驶员)。按下(x=515,y=1200)。move_to(x=515,y=1000)。释放()。执行()

#这里需要设置长延时,因为颤音有引导操作和提示,所以需要等一会儿。

睡眠时间(20)

#点击颤音的“喜欢”部分进入登录界面

触摸动作(驾驶员)。按压(x=950,y=800)。释放()。执行()

#单击密码登录

button_4 =等到(EC . presence _ of _ element _ located((By。ID,' com . ss . Android . ugc . awe me:ID/afg '))

button_4 .单击()

#输入账号

button_5 =等到(EC . presence _ of _ element _ located((By。ID,' com . ss . Android . ugc . awe me:ID/ab _ '))

Button_5.send_keys('您的帐号')

#输入密码

button_6 =等到(EC . presence _ of _ element _ located((By。ID,' com . ss . Android . ugc . awe me:ID/AES '))

Button _ 6.send _ keys('您的密码')

time.sleep(2)

#因为会跳出软键盘,挡住登录按钮,点击软键盘取消

触摸动作(驾驶员)。按下(x=980,y=1850)。释放()。执行()

time.sleep(2)

#单击登录按钮

button_7 =等到(EC . presence _ of _ element _ located((By。ID,' com . ss . Android . ugc . awe me:ID/abb '))

button_7 .单击()

time.sleep(2)

触摸动作(驾驶员)。按下(x=990,y=1850)。释放()。执行()

button_8 =等到(EC . presence _ of _ element _ located((By。ID,' com . ss . Android . ugc . awe me:ID/a _ 7 '))

button_8 .单击()

button_9 =等到(EC . presence _ of _ element _ located((By。XPATH,'/hierarchy/Android . Widget . FrameLayout/Android . Widget . LinearLayout/Android . Widget . RelativeLayout/Android . Widget . LinearLayout/Android . Widget . FrameLayout/Android . view . ViewGrouP/Android . Widget . LinearLayout/Android . support . V7 . Widget . RecycerView/Android . Widget . RelativeLayout[2]/Android . Widget . RelativeLayout[1]'))

button_9 .单击()

#转到上行主页,点击第一个视频

button_10 =等到(EC . presence _ of _ element _ located((By。ID,' com . ss . Android . ugc . awe me:ID/AQM '))

button_10.click()

#继续向下滑动到页面底部

同时:

触摸动作(驾驶员)。按(x=515,y=1247)。move_to(x=515,y=1026)。释放()。执行()

time . sleep(float(random . randint(5,10)))

if__name__ == '__main__ ':

main()

要下载视频代码,需要复制视频链接。

进口熊猫aspd

导入请求

importos

num = 0

dom = []

folder_path = "F:/video/"

os.makedirs(folder_path)

df = pd.read_csv('douyin.csv ',header=None,name =[" URL "])

#复制链接并删除刚刚进入颤音采集的视频链接

fori indf['url'][2:]:

ifi notindom:

dom.append(i)

#下载视频

forj indom:

url = j

num += 1

响应=请求。获取(网址,流=真)

filename = str(num)+. MP4

带open('F:video'+ filename,' ab+') asf:

f.write(response.content)

f.flush()

打印(文件名+“下载完成”)

最后,我成功地获得了我姐姐们的所有视频...

如果我在工厂,知道怎么操作就好了,哈哈。

其实我想的更多。大部分女生喜欢拍颤音,但不要下载这种操作。

然后,给弟弟们一个机会,下载他们喜欢的姐妹的颤音视频。

然后编辑一个“最美时刻”系列的视频,机会就来了...

/04/摘要

代码放在“GitHub”上。https://github.com/Tobby-star/douyin

[本文作者]

Fa nast: Python爱好者,专注爬虫,数据分析,可视化

1.《下栽抖音 用 Python 全自动下载抖音小姐姐视频》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《下栽抖音 用 Python 全自动下载抖音小姐姐视频》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1037598.html

上一篇

扬州被联合国授予世界美食之都 目前是什么情况?

下一篇

iG战胜LGD 事件详细经过!

女学生遭多人殴打被脱衣拍视频 两天两次遭殴打爷爷去理论也被打伤

女学生遭多人殴打被脱衣拍视频 两天两次遭殴打爷爷去理论也被打伤

一周之内,渭南一个叫小七(化名)的初中女生在很多地方屡遭非法侵害。除了挨打,她还被扒了衣服,抢了钱,还被拍照。目前,涉案4人已被依法拘留,其余5人已被依法处理。警方正在搜寻另一名涉案人员。  受害女生被打又抢钱受害女孩被殴...

女孩修电脑被装偷拍软件 隐私被拍成视频!

女孩修电脑被装偷拍软件 隐私被拍成视频!

19岁的大连女孩小婷正在国外读大学。今年国庆期间,小婷回到大连与家人团聚。在国外学习期间,小婷的笔记本电脑坏了,无法正常启动。假期回家的时候,小婷把电脑送到鞍山道的一家售后服务站维修。过了几天,电脑修好了,小婷拿走了。用起...