123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- """
- @author: luojunhui
- """
- import time
- import json
- import random
- import hashlib
- from datetime import datetime, timedelta
- import uuid
- import requests
- import urllib.parse
- def request_for_info(video_id):
- """
- 请求数据
- :param video_id:
- :return:
- """
- url = "https://longvideoapi.piaoquantv.com/longvideoapi/openapi/video/batchSelectVideoInfo"
- data = {
- "videoIdList": [video_id]
- }
- header = {
- "Content-Type": "application/json",
- }
- response = requests.post(url, headers=header, data=json.dumps(data))
- return response.json()
- def get_info_lists(vid_list):
- """
- 获取视频list
- :param vid_list:
- :return:
- """
- url = "https://longvideoapi.piaoquantv.com/longvideoapi/openapi/video/batchSelectVideoInfo"
- data = {
- "videoIdList": vid_list
- }
- header = {
- "Content-Type": "application/json",
- }
- response = requests.post(url, headers=header, data=json.dumps(data))
- return response.json()
- def generate_daily_strings(start_date, end_date):
- """
- Generate daily date_str
- :param start_date:
- :param end_date:
- :return:
- """
- start = datetime.strptime(start_date, "%Y%m%d")
- end = datetime.strptime(end_date, "%Y%m%d")
- current = start
- date_strings = []
- while current <= end:
- date_strings.append(current.strftime("%Y%m%d"))
- current += timedelta(days=1)
- return date_strings
- def whisper(video_id):
- """
- input video_id, output video_text
- :param video_id:
- :return:
- """
- url = "http://61.48.133.26:5999/video_to_text"
- body = {
- "video_id": video_id
- }
- header = {
- "Content-Type": "application/json",
- }
- response = requests.post(
- url=url,
- json=body,
- headers=header
- )
- return response.json()
- def hash_title(title):
- """
- hash map
- :param title:
- :return:
- """
- # 创建md5哈希对象
- hash_object = hashlib.md5()
- # 对标题进行编码
- title_bytes = title.encode('utf-8')
- # 更新哈希对象
- hash_object.update(title_bytes)
- # 获取十六进制形式的哈希值
- hash_hex = hash_object.hexdigest()
- return hash_hex
- def create_gzh_path(video_id, shared_uid):
- """
- :param video_id: 视频 id
- :param shared_uid: 分享 id
- """
- def generate_source_id():
- """
- generate_source_id
- :return:
- """
- timestamp = str(int(time.time() * 1000))
- random_str = str(random.randint(1000, 9999))
- hash_input = f"{timestamp}-{random_str}"
- return hashlib.md5(hash_input.encode()).hexdigest()
- root_share_id = str(uuid.uuid4())
- source_id = "video_to_articles" + generate_source_id()
- url = f"pages/user-videos?id={video_id}&su={shared_uid}&fromGzh=1&rootShareId={root_share_id}&shareId={root_share_id}&rootSourceId={source_id}"
- # 自动把 root_share_id 加入到白名单
- # auto_white(root_share_id)
- return root_share_id, source_id, f"pages/category?jumpPage={urllib.parse.quote(url, safe='')}"
- def chunks(chunk_list, chunk_size):
- """
- 分页
- :param chunk_list:
- :param chunk_size:
- """
- for i in range(0, len(chunk_list), chunk_size):
- yield chunk_list[i: i + chunk_size]
|