|
@@ -120,12 +120,47 @@ class Dy_KS:
|
|
|
logger.error(f"[+] 快手{url}获取视频链接失败,失败信息{e}")
|
|
|
return None, None,None
|
|
|
|
|
|
+ @classmethod
|
|
|
+ def get_text_hksp_video(cls, url):
|
|
|
+ try:
|
|
|
+ parsed_url = urlparse(url)
|
|
|
+ query_params = parse_qs(parsed_url.query)
|
|
|
+ video_id = query_params.get('vid')[0]
|
|
|
+ url = "http://8.217.192.46:8889/crawler/hao_kan_shi_pin/detail"
|
|
|
+ if not video_id or not video_id.strip():
|
|
|
+ return None, None, None
|
|
|
+ payload = json.dumps({
|
|
|
+ "content_id": str(video_id)
|
|
|
+ })
|
|
|
+ headers = {
|
|
|
+ 'Content-Type': 'application/json'
|
|
|
+ }
|
|
|
+ time.sleep(random.uniform(10, 50))
|
|
|
+ response = requests.request("POST", url, headers=headers, data=payload, timeout=30)
|
|
|
+ response = response.json()
|
|
|
+ code = response["code"]
|
|
|
+ if code == 0:
|
|
|
+ data = response["data"]["data"]
|
|
|
+ content_type = data['content_type']
|
|
|
+ if content_type == 'note':
|
|
|
+ return "note", "note"
|
|
|
+ video_url = data["video_url_list"][0]["video_url"]
|
|
|
+ original_title = data["title"]
|
|
|
+ return video_url, original_title, video_id
|
|
|
+ elif code == 27006:
|
|
|
+ if "作品不存在" in response['msg'] or "内容不存在" in response['msg'] or "私密作品" in response[
|
|
|
+ 'msg'] or "该作品仅允许关注者查看" in response['msg']:
|
|
|
+ return "作品不存在", None, None
|
|
|
+ except Exception as e:
|
|
|
+ logger.error(f"[+] 好看视频{url}获取视频信息失败,失败信息{e}")
|
|
|
+ return None, None, None
|
|
|
+
|
|
|
@classmethod
|
|
|
def get_video_url(cls, data, principal):
|
|
|
try:
|
|
|
url = data['video_url']
|
|
|
logger.info(f"[+] url=={url}")
|
|
|
- if "&vid=" in url or "?modal_id=" in url:
|
|
|
+ if "&vid=" in url or "?modal_id=" in url or "?vid=" in url:
|
|
|
host = urlparse(url).netloc
|
|
|
logger.info(f"[+] host=={host}")
|
|
|
else:
|
|
@@ -148,11 +183,15 @@ class Dy_KS:
|
|
|
tag_transport_channel = "快手"
|
|
|
logger.info(f"[+] {url}开始获取快手视频链接")
|
|
|
url, original_title, video_id = cls.get_text_ks_video(url=url)
|
|
|
+ elif host in ['haokan.baidu.com']:
|
|
|
+ tag_transport_channel = "好看视频"
|
|
|
+ logger.info(f"[+] {url}开始获取好看视频链接")
|
|
|
+ url, original_title, video_id = cls.get_text_hksp_video(url=url)
|
|
|
else:
|
|
|
- logger.error(f"[+] {url}该链接不是抖/快 不做处理")
|
|
|
+ logger.error(f"[+] {url}该链接不是抖/快/好看视频 不做处理")
|
|
|
AliyunLogger.logging(data["name"], principal, "", data["video_url"],
|
|
|
- "不是抖/快不做处理", "1001", str(data))
|
|
|
- return "链接不是抖/快",None,None,None
|
|
|
+ "不是抖/快/好看视频 不做处理", "1001", str(data))
|
|
|
+ return "链接不是抖/快/好看视频",None,None,None
|
|
|
if url == "作品不存在":
|
|
|
return "作品不存在",None,None,None
|
|
|
return url, original_title, video_id, tag_transport_channel
|