电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python爬取抖音視頻的實(shí)例分析

瀏覽:4日期:2022-06-29 15:14:22

現(xiàn)在抖音的火爆程度,大家都是有目共睹的吧,之前小編在網(wǎng)絡(luò)上發(fā)現(xiàn)好玩的事情,就是去爬取一些網(wǎng)站,因此,也考慮能否進(jìn)行抖音上的破案去,在實(shí)際操作以后,真的實(shí)現(xiàn)出來(lái)了,利用自動(dòng)化工具,就可以輕松實(shí)現(xiàn)了,后有小伙伴提出把a(bǔ)ppium去掉瘦身之后也是可以實(shí)現(xiàn)的,那么看下詳細(xì)操作內(nèi)容吧。

1、mitmproxy/mitmdump抓包

import requestspath = ’D:/video/’num = 1788def response(flow): global num target_urls = [’url’] for url in target_urls: if flow.request.url.startswith(url): filename = path + str(num) + ’.mp4 res = requests.get(flow.request.url, stream=True) with open(filename, ’ab’) as f: f.write(res.content) f.flush() print(filename + ’下載完成’) num += 1

2、Appium對(duì)手機(jī)進(jìn)行模擬操作

利用Start Server按鈕即可啟動(dòng)appium服務(wù)

python爬取抖音視頻的實(shí)例分析

再點(diǎn)擊Start Session即可啟動(dòng)Android手機(jī)上的抖音app并進(jìn)入到啟動(dòng)頁(yè)面

3、python腳本來(lái)驅(qū)動(dòng)app,直接在pycharm運(yùn)行即可

實(shí)例擴(kuò)展:

import requestsimport jsonimport reimport osfrom pprint import pprint as ppimport queueclass DouYin: header = { ’accept’: ’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8’, ’accept-encoding’: ’gzip, deflate, br’, ’accept-language’: ’zh-CN,zh;q=0.9’, ’cache-control’: ’max-age=0’, ’upgrade-insecure-requests’: ’1’, ’user-agent’: ’Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1’, } def __init__(self, url=None): self.url = self.get_RealAddress(url) # 獲取用戶視頻的url self.user_video_url = ’https://www.douyin.com/aweme/v1/aweme/post/?{0}’ self.user_id = re.search(r’user/(.*)?’, self.url).group(1)# 用戶id requests.packages.urllib3.disable_warnings() self.session = requests.Session() self.target_folder = ’’# 創(chuàng)建文件的路徑 self.queue = queue.Queue()# 生成一個(gè)隊(duì)列對(duì)象 def user_info(self): self.mkdir_dir() p = os.popen(’node fuck.js %s’ % self.user_id) # 獲取加密的signature signature = p.readlines()[0] user_video_params = { ’user_id’: str(self.user_id), ’count’: ’21’, ’max_cursor’: ’0’, ’aid’: ’1128’, ’_signature’: signature } # 獲取下載視頻的列表 def get_aweme_list(max_cursor=None): if max_cursor: user_video_params[’max_cursor’] = str(max_cursor) user_video_url = self.user_video_url.format( ’&’.join([key + ’=’ + user_video_params[key] for key in user_video_params])) # 拼接參數(shù) response = requests.get( url=user_video_url, headers=self.header, verify=False) contentJson = json.loads(response.content.decode(’utf-8’)) # 將返回的進(jìn)行utf8編碼 aweme_list = contentJson.get(’aweme_list’, []) for aweme in aweme_list: video_name = aweme.get( ’share_info’, None).get(’share_desc’, None) # 視頻的名字 video_url = aweme.get(’video’, None).get(’play_addr’, None).get( ’url_list’, None)[0].replace(’playwm’, ’play’) # 視頻鏈接 self.queue.put((video_name, video_url)) # 將數(shù)據(jù)進(jìn)隊(duì)列 if contentJson.get(’has_more’) == 1: # 判斷后面是不是還有是1就是還有 return get_aweme_list(contentJson.get(’max_cursor’)) # 有的話獲取參數(shù)max_cursor get_aweme_list() # 下載視頻 def get_download(self): while True: video_name, video_url = self.queue.get() file_name = video_name + ’.mp4’ file_path = os.path.join(self.target_folder, file_name) if not os.path.isfile(file_path): print(’download %s form %s.n’ % (file_name, video_url)) times = 0 while times < 10: try: response = requests.get( url=video_url, stream=True, timeout=10, verify=False) # 開(kāi)啟流下載 with open(file_path, ’wb’) as f: for chunk in response.iter_content(1024): # 返回迭代對(duì)象f.write(chunk) print(’下載成功’) break except: print(’下載失敗’) times += 1 # 創(chuàng)建對(duì)應(yīng)的文件夾 def mkdir_dir(self): current_folder = os.getcwd() self.target_folder = os.path.join( current_folder, ’download/%s’ % self.user_id) if not os.path.isdir(self.target_folder): os.mkdir(self.target_folder) # 短鏈接轉(zhuǎn)長(zhǎng)地址 def get_RealAddress(self, url): if url.find(’v.douyin.com’) < 0: return url response = requests.get( url=url, headers=self.header, allow_redirects=False) # allow_redirects 允許跳轉(zhuǎn) return response.headers[’Location’]if __name__ == ’__main__’: douyin = DouYin(url=’http://v.douyin.com/J2B9Sk/’) douyin.user_info() douyin.get_download()

到此這篇關(guān)于python爬取抖音視頻的實(shí)例分析的文章就介紹到這了,更多相關(guān)如何使用python爬取抖音視頻內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: 抖音 Python
相關(guān)文章:
主站蜘蛛池模板: 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 移动厕所租赁|移动卫生间|上海移动厕所租赁-家瑞租赁 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 韦伯电梯有限公司| 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 金属管浮子流量计_金属转子流量计厂家-淮安润中仪表科技有限公司 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 高压油管,液压接头,液压附件-烟台市正诚液压附件 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 嘉兴泰东园林景观工程有限公司_花箱护栏| 双舌接地线-PC68数字式高阻计-ZC36|苏海百科 |