欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python批量爬取下載抖音視頻

系統 1998 0

本文實例為大家分享了python批量爬取下載抖音視頻的具體代碼,供大家參考,具體內容如下

            
import os
import requests
import re
import sys
import asyncio
import aiohttp

headers = {
  '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'
}

VIDEO_URLS, PAGE = [], 1


def get_info(url):
  """
  :param url: 用戶的鏈接
  :return:返回name,dytk,user_id 參數
  """
  name = None
  dytk = None
  user_id = None
  try:
    response = requests.get(url, headers=headers)
    user_id = response.url.split('/')[5].split('?')[0]
    name = re.search(r'class="nickname">(.*?)<', response.text)[1]
    dytk = re.search(r"dytk: '(.*?)'", response.text)[1]
  except (TypeError, IndexError):
    sys.stdout.write('Waring:輸入的鏈接錯誤')
  except requests.exceptions:
    sys.stdout.write('Waring:鏈接錯誤')
  finally:
    return name, user_id, dytk


def make_dir(name):
  """
  建立文件夾
  :param name: 用戶名稱
  :return:
  """
  if not os.path.isdir(name):
    os.mkdir(name)
  else:
    pass


def get_all_video(user_id, max_cursor, dytk):
  """
  獲取視頻的地址
  :param user_id:
  :param max_cursor:
  :param dytk:
  :return:
  """
  url = "https://www.amemv.com/aweme/v1/aweme/post/?"
  params = {'user_id': user_id,
       'count': 21,
       'max_cursor': max_cursor,
       'dytk': dytk}
  try:
    response = requests.get(url=url, params=params, headers=headers)
    if response.status_code == 200:
      datas = response.json()
      for data in datas['aweme_list']:
        name = data.get('share_info').get('share_desc')
        url = data.get('video').get('play_addr').get('url_list')[0].replace('playwm', 'play')
        VIDEO_URLS.append([name, url])
      if datas['has_more'] == 1 and datas.get('max_cursor') != 0:
        global PAGE
        print(f'收集第{PAGE}頁視頻')
        PAGE += 1
        return get_all_video(user_id, datas.get('max_cursor'), dytk)
      else:
        print('收集完成')
        return VIDEO_URLS
    else:
      print('狀態碼:', response.status_code)
      return None
  except Exception as e:
    print('Waring:', e)
    return


async def download_video(index, name, video_name, url):
  """
  下載視頻
  :param index:  視頻id
  :param name:  用戶名稱
  :param video_name: 視頻名稱
  :param url:   下載url
  :return:
  """
  print(f'正在下載第{index}個視頻:{video_name}')
  video_path = '{}/{}.mp4'.format(name, video_name)
  if not os.path.isfile(video_path):
    try:
      async with aiohttp.ClientSession() as session:
        async with session.get(url=url, headers=headers, ssl=False) as response:
          with open(video_path, 'wb') as f:
            while True:
              chunk = await response.content.read(1024)
              f.write(chunk)
              if not chunk:
                break
            print(f'下載完成第{index}個視頻:{video_name}')
    except Exception as e:
      print('waring:download faild', video_name, e)
      return
  else:
    print('文件已存在')


def main():
  url = 'http://v.douyin.com/dEorkn/'
  name, user_id, dytk = get_info(url)
  if not (name, user_id, dytk):
    return
  make_dir(name)
  get_all_video(user_id, 0, dytk)
  print(f'{name}:總共有{len(VIDEO_URLS)}個視頻')
  tasks = []
  for index, item in enumerate(VIDEO_URLS, 1):
    video_name = item[0]
    url = item[1]
    tasks.append(asyncio.ensure_future(download_video(index, name, video_name, url)))
  loop = asyncio.get_event_loop()
  loop.run_until_complete(asyncio.wait(tasks))
  loop.run_until_complete(asyncio.sleep(0))
  loop.close()
  print(f'{name}視頻下載完成!')


if __name__ == '__main__':
  main()
          

python批量爬取下載抖音視頻_第1張圖片

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲 欧美 日韩中文字幕一区二区 | 国产欧美日本 | 亚洲日本乱码在线观看 | 久久久久久久久淑女av国产精品 | 欧美在线激情 | 色综合久久综合欧美综合 | 精品欧美一区二区久久久伦 | 精品视频一区二区三区四区 | 精品国产第一国产综合精品gif | 久久久久久国产视频 | 精品国产成人 | 久久9999久久 | 欧美日韩精品一区二区三区四区 | 久久精品视频日本 | 综合精品一区 | 综合网天天色 | 亚洲精品乱码久久久久久9色 | 婷婷综合网站 | 久久99国产综合精品 | www国产精品 | 波多野结衣a∨免费观看 | 一级欧美日韩 | 无人精品乱码一区二区三区 | 久久精品国产一区二区 | 国产一区在线免费观看 | 日韩精品www| 免费午夜不卡毛片 | 夜夜骚| 久草最新在线 | 一级视频在线免费观看 | 一区二区三区四区视频 | 日日舔夜夜操 | 98色花堂国产第一页 | 四虎亚洲| 91社区在线高清 | 国产成人精品日本亚洲麻豆 | av黄色在线| 偷拍自拍视频在线观看 | 91短视频版官网 | 国产va免费精品观看精品 | 欧美久久久 |