|
@@ -93,47 +93,53 @@ class Demo:
|
|
|
|
|
|
with open(charles_file_dir + new_file[0] + ".txt", encoding='utf-8-sig', errors='ignore') as f:
|
|
with open(charles_file_dir + new_file[0] + ".txt", encoding='utf-8-sig', errors='ignore') as f:
|
|
contents = json.load(f, strict=False)
|
|
contents = json.load(f, strict=False)
|
|
- print(f"\nnewfile:{new_file}\n")
|
|
|
|
- # 定义需要返回的列表
|
|
|
|
- request_info = []
|
|
|
|
for content in contents:
|
|
for content in contents:
|
|
if "mp.weixin.qq.com" in content['host']:
|
|
if "mp.weixin.qq.com" in content['host']:
|
|
if content["path"] == r"/mp/getappmsgext":
|
|
if content["path"] == r"/mp/getappmsgext":
|
|
|
|
+ # query
|
|
|
|
+ query = content["query"]
|
|
|
|
+ Feishu.update_values("recommend", "gzh", "VzrN7E", "B9:B9", [[query]])
|
|
|
|
+
|
|
|
|
+ # body
|
|
headers = content["request"]["header"]["headers"]
|
|
headers = content["request"]["header"]["headers"]
|
|
|
|
+ body = content["request"]["body"]["text"]
|
|
|
|
+ # time.sleep(1)
|
|
|
|
+ Feishu.update_values("recommend", "gzh", "VzrN7E", "B8:B8", [[body]])
|
|
|
|
+
|
|
|
|
+ # title / vid
|
|
title = content["request"]["body"]["text"].split("title=")[-1].split("&ct=")[0]
|
|
title = content["request"]["body"]["text"].split("title=")[-1].split("&ct=")[0]
|
|
vid = content["request"]["body"]["text"].split("vid=")[-1].split("&is_pay_subscribe")[0]
|
|
vid = content["request"]["body"]["text"].split("vid=")[-1].split("&is_pay_subscribe")[0]
|
|
- request_info.append(title)
|
|
|
|
- request_info.append(vid)
|
|
|
|
|
|
+ # time.sleep(1)
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B1:B1", [[title]])
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B1:B1", [[title]])
|
|
- time.sleep(1)
|
|
|
|
|
|
+ # time.sleep(1)
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B2:B2", [[vid]])
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B2:B2", [[vid]])
|
|
|
|
+
|
|
for h in headers:
|
|
for h in headers:
|
|
if h["name"] == "cookie" and "pass_ticket" in h["value"]:
|
|
if h["name"] == "cookie" and "pass_ticket" in h["value"]:
|
|
pass_ticket = h["value"].split("pass_ticket=")[-1]
|
|
pass_ticket = h["value"].split("pass_ticket=")[-1]
|
|
# print(f"pass_ticket:{pass_ticket}")
|
|
# print(f"pass_ticket:{pass_ticket}")
|
|
- request_info.append(pass_ticket)
|
|
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B5:B5", [[pass_ticket]])
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B5:B5", [[pass_ticket]])
|
|
|
|
|
|
|
|
+ if h["name"] == "referer":
|
|
|
|
+ referer = h["value"]
|
|
|
|
+ # print(f"__biz:{referer}")
|
|
|
|
+ Feishu.update_values("recommend", "gzh", "VzrN7E", "B7:B7", [[referer]])
|
|
|
|
+
|
|
if h["name"] == "referer":
|
|
if h["name"] == "referer":
|
|
__biz = h["value"].split("__biz=")[-1].split("&mid=")[0]
|
|
__biz = h["value"].split("__biz=")[-1].split("&mid=")[0]
|
|
# print(f"__biz:{__biz}")
|
|
# print(f"__biz:{__biz}")
|
|
- request_info.append(__biz)
|
|
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B3:B3", [[__biz]])
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B3:B3", [[__biz]])
|
|
|
|
|
|
if h["name"] == "cookie" and "appmsg_token" in h["value"]:
|
|
if h["name"] == "cookie" and "appmsg_token" in h["value"]:
|
|
appmsg_token = h["value"].split("appmsg_token=")[-1]
|
|
appmsg_token = h["value"].split("appmsg_token=")[-1]
|
|
# print(f"appmsg_token:{appmsg_token}")
|
|
# print(f"appmsg_token:{appmsg_token}")
|
|
- request_info.append(appmsg_token)
|
|
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B4:B4", [[appmsg_token]])
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B4:B4", [[appmsg_token]])
|
|
|
|
|
|
if h["name"] == "cookie" and "wap_sid2" in h["value"]:
|
|
if h["name"] == "cookie" and "wap_sid2" in h["value"]:
|
|
wap_sid2 = h["value"].split("wap_sid2=")[-1]
|
|
wap_sid2 = h["value"].split("wap_sid2=")[-1]
|
|
# print(f"wap_sid2:{wap_sid2}")
|
|
# print(f"wap_sid2:{wap_sid2}")
|
|
- request_info.append(wap_sid2)
|
|
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B6:B6", [[wap_sid2]])
|
|
Feishu.update_values("recommend", "gzh", "VzrN7E", "B6:B6", [[wap_sid2]])
|
|
|
|
|
|
- return request_info
|
|
|
|
-
|
|
|
|
# 获取视频下载链接
|
|
# 获取视频下载链接
|
|
@classmethod
|
|
@classmethod
|
|
def get_url(cls, url):
|
|
def get_url(cls, url):
|
|
@@ -159,13 +165,14 @@ class Demo:
|
|
def recommend(cls):
|
|
def recommend(cls):
|
|
token_sheet = Feishu.get_values_batch("recommend", "gzh", "VzrN7E")
|
|
token_sheet = Feishu.get_values_batch("recommend", "gzh", "VzrN7E")
|
|
title = token_sheet[0][1]
|
|
title = token_sheet[0][1]
|
|
- # print(title)
|
|
|
|
- # title = parse.urlencode(title)
|
|
|
|
vid = token_sheet[1][1]
|
|
vid = token_sheet[1][1]
|
|
__biz = token_sheet[2][1]
|
|
__biz = token_sheet[2][1]
|
|
appmsg_token = token_sheet[3][1]
|
|
appmsg_token = token_sheet[3][1]
|
|
pass_ticket = token_sheet[4][1]
|
|
pass_ticket = token_sheet[4][1]
|
|
wap_sid2 = token_sheet[5][1]
|
|
wap_sid2 = token_sheet[5][1]
|
|
|
|
+ referer = token_sheet[6][1]
|
|
|
|
+ body = token_sheet[7][1]
|
|
|
|
+ query = token_sheet[8][1]
|
|
|
|
|
|
# title = "%25E8%25BF%2599%25E4%25B8%25AA%25E5%25BC%259F%25E6%2591%258A%25E4%25B8%258A%25E8%25BF%2599%25E4%25B8%25AA%25E5%2593%25A5%25E4%25B8%258D%25E7%259F%25A5%25E9%2581%2593%25E6%2598%25AF%25E5%25B9%25B8%25E8%25BF%2590%25E8%25BF%2598%25E6%2598%25AF%25E5%2599%25A9%25E6%25A2%25A6%25E7%259A%2584%25E5%25BC%2580%25E5%25A7%258B"
|
|
# title = "%25E8%25BF%2599%25E4%25B8%25AA%25E5%25BC%259F%25E6%2591%258A%25E4%25B8%258A%25E8%25BF%2599%25E4%25B8%25AA%25E5%2593%25A5%25E4%25B8%258D%25E7%259F%25A5%25E9%2581%2593%25E6%2598%25AF%25E5%25B9%25B8%25E8%25BF%2590%25E8%25BF%2598%25E6%2598%25AF%25E5%2599%25A9%25E6%25A2%25A6%25E7%259A%2584%25E5%25BC%2580%25E5%25A7%258B"
|
|
# vid = "wxv_2512850656278560768"
|
|
# vid = "wxv_2512850656278560768"
|
|
@@ -174,12 +181,12 @@ class Demo:
|
|
# pass_ticket = "1VEraA4AwklrT95KI+7WK09zHoybkPgSDgYX/Fw3ArRKYh+QnkI1NXGFHvZ0naeD"
|
|
# pass_ticket = "1VEraA4AwklrT95KI+7WK09zHoybkPgSDgYX/Fw3ArRKYh+QnkI1NXGFHvZ0naeD"
|
|
# wap_sid2 = "CNSn5r4HEooBeV9ISXFxZ1FWX1JPazhCVXlfWW5UU0dSbXpza0lHZnlKSDVUVF9aUndjeDhvbDctc0tfUGlWd09uOTVwcTVxWGVkenB5Nld2YkRKNFBKVk9jZVpJZTZGU2hXUkpnZlB5OTMwSEJXQVpTNS13NnJXY0hiTjJibkJ6U3Z3WllaRkNmcEwzWVNBQUF+MOzurZcGOA1AAQ=="
|
|
# wap_sid2 = "CNSn5r4HEooBeV9ISXFxZ1FWX1JPazhCVXlfWW5UU0dSbXpza0lHZnlKSDVUVF9aUndjeDhvbDctc0tfUGlWd09uOTVwcTVxWGVkenB5Nld2YkRKNFBKVk9jZVpJZTZGU2hXUkpnZlB5OTMwSEJXQVpTNS13NnJXY0hiTjJibkJ6U3Z3WllaRkNmcEwzWVNBQUF+MOzurZcGOA1AAQ=="
|
|
|
|
|
|
- print(f"title:{title}")
|
|
|
|
- print(f"vid:{vid}")
|
|
|
|
- print(f"__biz:{__biz}")
|
|
|
|
- print(f"appmsg_token:{appmsg_token}")
|
|
|
|
- print(f"pass_ticket:{pass_ticket}")
|
|
|
|
- print(f"wap_sid2:{wap_sid2}\n")
|
|
|
|
|
|
+ # print(f"title:{title}")
|
|
|
|
+ # print(f"vid:{vid}")
|
|
|
|
+ # print(f"__biz:{__biz}")
|
|
|
|
+ # print(f"appmsg_token:{appmsg_token}")
|
|
|
|
+ # print(f"pass_ticket:{pass_ticket}")
|
|
|
|
+ # print(f"wap_sid2:{wap_sid2}\n")
|
|
|
|
|
|
url = "https://mp.weixin.qq.com/mp/getappmsgext?"
|
|
url = "https://mp.weixin.qq.com/mp/getappmsgext?"
|
|
headers = {
|
|
headers = {
|
|
@@ -193,46 +200,22 @@ class Demo:
|
|
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 "
|
|
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 "
|
|
"(KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.26(0x18001a29)"
|
|
"(KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.26(0x18001a29)"
|
|
" NetType/WIFI Language/zh_CN",
|
|
" NetType/WIFI Language/zh_CN",
|
|
- "referer": "https://mp.weixin.qq.com/s?"
|
|
|
|
- "__biz=" + __biz +
|
|
|
|
- "&mid=2247483669"
|
|
|
|
- "&idx=1"
|
|
|
|
- "&sn=b290af5fe2d28a02bf93721a10ce5106"
|
|
|
|
- "&chksm=c0a70b0ef7d0821846725445dfe838e64886f3a4ae12b8277be45f7977fcccc37591c63a526b"
|
|
|
|
- "&sessionid=1659598372"
|
|
|
|
- "&channel_session_id="
|
|
|
|
- "&scene=136"
|
|
|
|
- "&subscene=126"
|
|
|
|
- "&exptype="
|
|
|
|
- "&reloadid=1659598294"
|
|
|
|
- "&reloadseq=4"
|
|
|
|
- "&related_video_source=10"
|
|
|
|
- "&ascene=3"
|
|
|
|
- "&devicetype=iOS14.7.1"
|
|
|
|
- "&version=18001a29"
|
|
|
|
- "&nettype=WIFI"
|
|
|
|
- "&abtest_cookie=AAACAA%3D%3D"
|
|
|
|
- "&lang=zh_CN"
|
|
|
|
- "&session_us=gh_7364edd0ca9f"
|
|
|
|
- "&fontScale=100"
|
|
|
|
- "&exportkey=AQIwyyA%2BcjsvSOsvHeccwiE%3D"
|
|
|
|
- "&pass_ticket=" + pass_ticket +
|
|
|
|
- "&wx_header=3",
|
|
|
|
- }
|
|
|
|
- query_string = {
|
|
|
|
- "f": "json",
|
|
|
|
- "mock": "",
|
|
|
|
- "uin": "777",
|
|
|
|
- "key": "777",
|
|
|
|
- "pass_ticket": pass_ticket,
|
|
|
|
- "wxtoken": "",
|
|
|
|
- "devicetype": "iOS14.7.1",
|
|
|
|
- "clientversion": "18001a29",
|
|
|
|
- "__biz": __biz,
|
|
|
|
- "appmsg_token": appmsg_token,
|
|
|
|
- "x5": "0",
|
|
|
|
- # "f": "json"
|
|
|
|
|
|
+ "referer": referer,
|
|
}
|
|
}
|
|
|
|
+ # query_string = {
|
|
|
|
+ # "f": "json",
|
|
|
|
+ # "mock": "",
|
|
|
|
+ # "uin": "777",
|
|
|
|
+ # "key": "777",
|
|
|
|
+ # "pass_ticket": pass_ticket,
|
|
|
|
+ # "wxtoken": "",
|
|
|
|
+ # "devicetype": "iOS14.7.1",
|
|
|
|
+ # "clientversion": "18001a29",
|
|
|
|
+ # "__biz": __biz,
|
|
|
|
+ # "appmsg_token": appmsg_token,
|
|
|
|
+ # "x5": "0",
|
|
|
|
+ # # "f": "json"
|
|
|
|
+ # }
|
|
cookies = {
|
|
cookies = {
|
|
"appmsg_token": appmsg_token,
|
|
"appmsg_token": appmsg_token,
|
|
"devicetype": "iOS14.7.1",
|
|
"devicetype": "iOS14.7.1",
|
|
@@ -244,51 +227,51 @@ class Demo:
|
|
"wxtokenkey": "777",
|
|
"wxtokenkey": "777",
|
|
"wxuin": "2010747860"
|
|
"wxuin": "2010747860"
|
|
}
|
|
}
|
|
- form = {
|
|
|
|
- "r": "0.7399955678811934",
|
|
|
|
- "__biz": __biz,
|
|
|
|
- "appmsg_type": "9",
|
|
|
|
- "mid": "2247483669",
|
|
|
|
- "sn": "b290af5fe2d28a02bf93721a10ce5106",
|
|
|
|
- "idx": "1",
|
|
|
|
- "scene": "136",
|
|
|
|
- "title": title,
|
|
|
|
- "ct": "1659387788",
|
|
|
|
- "abtest_cookie": "AAACAA==",
|
|
|
|
- "devicetype": "iOS14.7.1",
|
|
|
|
- "version": "18001a29",
|
|
|
|
- "is_need_ticket": "0",
|
|
|
|
- "is_need_ad": "1",
|
|
|
|
- "comment_id": "0",
|
|
|
|
- "is_need_reward": "0",
|
|
|
|
- "both_ad": "0",
|
|
|
|
- "reward_uin_count": "0",
|
|
|
|
- "send_time": "",
|
|
|
|
- "msg_daily_idx": "1",
|
|
|
|
- "is_original": "0",
|
|
|
|
- "is_only_read": "1",
|
|
|
|
- "req_id": "0415gcfdToRrDu1wXSkK8VcK",
|
|
|
|
- "pass_ticket": pass_ticket,
|
|
|
|
- "is_temp_url": "0",
|
|
|
|
- "item_show_type": "5",
|
|
|
|
- "tmp_version": "1",
|
|
|
|
- "more_read_type": "0",
|
|
|
|
- "appmsg_like_type": "2",
|
|
|
|
- "related_video_sn": "",
|
|
|
|
- "related_video_num": "5",
|
|
|
|
- "vid": vid,
|
|
|
|
- "is_pay_subscribe": "0",
|
|
|
|
- "pay_subscribe_uin_count": "0",
|
|
|
|
- "has_red_packet_cover": "0",
|
|
|
|
- "album_id": "1296223588617486300",
|
|
|
|
- "album_video_num": "5",
|
|
|
|
- "cur_album_id": "",
|
|
|
|
- "is_public_related_video": "0",
|
|
|
|
- "encode_info_by_base64": "0",
|
|
|
|
- "exptype": ""
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- response = requests.post(url=url, headers=headers, cookies=cookies, params=query_string, data=form)
|
|
|
|
|
|
+ # form = {
|
|
|
|
+ # "r": "0.7399955678811934",
|
|
|
|
+ # "__biz": __biz,
|
|
|
|
+ # "appmsg_type": "9",
|
|
|
|
+ # "mid": "2247483669",
|
|
|
|
+ # "sn": "b290af5fe2d28a02bf93721a10ce5106",
|
|
|
|
+ # "idx": "1",
|
|
|
|
+ # "scene": "136",
|
|
|
|
+ # "title": title,
|
|
|
|
+ # "ct": "1659387788",
|
|
|
|
+ # "abtest_cookie": "AAACAA==",
|
|
|
|
+ # "devicetype": "iOS14.7.1",
|
|
|
|
+ # "version": "18001a29",
|
|
|
|
+ # "is_need_ticket": "0",
|
|
|
|
+ # "is_need_ad": "1",
|
|
|
|
+ # "comment_id": "0",
|
|
|
|
+ # "is_need_reward": "0",
|
|
|
|
+ # "both_ad": "0",
|
|
|
|
+ # "reward_uin_count": "0",
|
|
|
|
+ # "send_time": "",
|
|
|
|
+ # "msg_daily_idx": "1",
|
|
|
|
+ # "is_original": "0",
|
|
|
|
+ # "is_only_read": "1",
|
|
|
|
+ # "req_id": "0415gcfdToRrDu1wXSkK8VcK",
|
|
|
|
+ # "pass_ticket": pass_ticket,
|
|
|
|
+ # "is_temp_url": "0",
|
|
|
|
+ # "item_show_type": "5",
|
|
|
|
+ # "tmp_version": "1",
|
|
|
|
+ # "more_read_type": "0",
|
|
|
|
+ # "appmsg_like_type": "2",
|
|
|
|
+ # "related_video_sn": "",
|
|
|
|
+ # "related_video_num": "5",
|
|
|
|
+ # "vid": vid,
|
|
|
|
+ # "is_pay_subscribe": "0",
|
|
|
|
+ # "pay_subscribe_uin_count": "0",
|
|
|
|
+ # "has_red_packet_cover": "0",
|
|
|
|
+ # "album_id": "1296223588617486300",
|
|
|
|
+ # "album_video_num": "5",
|
|
|
|
+ # "cur_album_id": "",
|
|
|
|
+ # "is_public_related_video": "0",
|
|
|
|
+ # "encode_info_by_base64": "0",
|
|
|
|
+ # "exptype": ""
|
|
|
|
+ # }
|
|
|
|
+
|
|
|
|
+ response = requests.post(url=url, headers=headers, cookies=cookies, params=query, data=body)
|
|
if "related_tag_video" not in response.json():
|
|
if "related_tag_video" not in response.json():
|
|
print(f"response:{response.text}\n")
|
|
print(f"response:{response.text}\n")
|
|
elif len(response.json()["related_tag_video"]) == 0:
|
|
elif len(response.json()["related_tag_video"]) == 0:
|