Browse Source

修改了get_info代码

罗俊辉 1 year ago
parent
commit
66c3fdc593
4 changed files with 26 additions and 71 deletions
  1. 2 1
      applications/__init__.py
  2. 5 1
      applications/get_info.py
  3. 18 17
      feishu/feishu.py
  4. 1 52
      main.py

+ 2 - 1
applications/__init__.py

@@ -1,2 +1,3 @@
 from .mysql import Mysql
-from .functions import check_account, navigate
+from .functions import check_account, navigate
+from .get_info import get_info

+ 5 - 1
applications/get_info.py

@@ -1,9 +1,13 @@
 import asyncio
 
-from .navigate_and_download import navigate_and_download
+from .functions import navigate_and_download
 
 
 async def get_info(page, platform):
+    """
+    :param page: 获取信息
+    :param platform: 小程序名称
+    """
     await page.get_by_text("经营工具").click()
     await asyncio.sleep(5)
     if platform == "票圈 l 祝福":

+ 18 - 17
feishu/feishu.py

@@ -2,6 +2,8 @@
 feishu python方法
 """
 import json
+import random
+
 import requests
 import datetime
 
@@ -56,30 +58,28 @@ class Feishu(object):
             "inheritStyle": "AFTER"  # BEFORE 或 AFTER,不填为不继承 style
         }
         response = requests.post(url=insert_columns_url, headers=headers, json=body, verify=False)
-        print(response.json()['msg'])
+        print(json.dumps(response.json(), ensure_ascii=False, indent=4))
 
     def insert_value(self, sheet_id, ranges, values):
         """
-        update
-        :param sheet_id:
-        :param ranges:
-        :param values:
+        在表的某一个sheet的ranges中插入数据,若该地方存在数据,会自动把已有的数据往下移动,再写如数据
+        :param sheet_id: 飞书表的唯一ID
+        :param ranges: 单元格位置的range, 从左上角到右下角, 两边都是闭区间
+        :param values: 二维数组, 用于填充ranges的空格数组
         """
-        update_values_url = "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/" \
-                            + self.document_token + "/values_batch_update"
+        insert_value_url = "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{}/values_prepend".format(
+            self.document_token)
         headers = {
             "Authorization": "Bearer " + get_app_token(),
-            "Content-Type": "application/json; charset=utf-8"
+            'contentType': 'application/json'
         }
         body = {
-            "valueRanges": [
-                {
-                    "range": sheet_id + "!" + ranges,
-                    "values": values
-                },
-            ],
+            "valueRange": {
+                "range": "{}!{}".format(sheet_id, ranges),
+                "values": values
+            }
         }
-        response = requests.request("POST", url=update_values_url, headers=headers, json=body)
+        response = requests.request("POST", url=insert_value_url, headers=headers, json=body)
         print(response.json())
 
     def bot(self, platform_name, flag=1):
@@ -158,5 +158,6 @@ class Feishu(object):
 
 if __name__ == "__main__":
     F = Feishu()
-    value = [[0]]
-    F.insert_value(sheet_id="gwzBOM", values=value, ranges="D1:F1")
+    for i in range(100):
+        value = [[i + 1] + [random.randint(0, 100) for item in range(7)]]
+        F.insert_value(sheet_id="gwzBOM", values=value, ranges="A2:G2")

+ 1 - 52
main.py

@@ -88,58 +88,7 @@ async def run(playwright):
     await page.goto("https://wedata.weixin.qq.com/mp2/basic-data/core-data?source=0")
 
     # # 默认先进入票圈内容精选
-    platform_name = '票圈内容精选'
-    await get_info(page, platform_name)
-
-    # 票圈 | 3亿人喜欢的视频平台
-    platform_name = "票圈 l 3亿人喜欢的视频平台"
-    await check_account(page, platform_name)
-    await asyncio.sleep(3)
-    await get_info(page, platform_name)
-
-    # 票圈 | 视频精选
-    platform_name = "票圈 l 视频精选"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈 l 祝福
-    platform_name = "票圈 l 祝福"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈 l 福年 1
-    platform_name = "票圈 I 福年"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈 l 信仰之路 1
-    platform_name = "票圈 l 信仰之路"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈视频
-    platform_name = "票圈视频"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈短视频 1
-    platform_name = "票圈短视频"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 老好看视频
-    platform_name = "老好看视频"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈最惊奇
-    platform_name = "票圈最惊奇"
-    await check_account(page, platform_name)
-    await get_info(page, platform_name)
-
-    # 票圈视频+
-    platform_name = "票圈视频+"
-    await check_account(page, platform_name)
+    platform_name = '票圈视频+'
     await get_info(page, platform_name)
 
     # columns = ["小程序", "实验", "指标", "日期", "对照组"] + [