From f665e38bc0239c4333e8e7ae88977911fbaed3d5 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Fri, 27 Feb 2026 14:57:13 +0800 Subject: [PATCH] 'commit' --- .vscode/extensions.json | 6 + .vscode/launch.json | 13 + .vscode/settings.json | 3 + .../__pycache__/Setting.cpython-310.pyc | Bin 655 -> 655 bytes DataX/json/t_account_recharge.json | 127 -- DataX/json/t_account_water.json | 105 - DataX/json/t_car.json | 99 - DataX/json/t_company.json | 133 -- DataX/json/t_company_info_value.json | 77 - DataX/json/t_connector.json | 113 - DataX/json/t_equipment.json | 123 -- DataX/json/t_equipment_charge_order.json | 285 --- .../json/t_equipment_charge_order_detail.json | 109 - DataX/json/t_ext_hurry_quit.json | 120 - DataX/json/t_station.json | 226 -- DataX/json/t_time_day.json | 72 - DataX/json/t_user.json | 152 -- DataX/json/t_user_account.json | 96 - DataX/json/t_user_upload_fault.json | 76 - DataX/run_jobs_full.sh | 297 --- DataX/run_jobs_inc.sh | 260 --- DataX/start_cron_inc.sh | 54 - DataX/stop_cron_inc.sh | 47 - DataX/tool/LoadCsvToMysql.py | 169 -- DataX/说明.md | 139 -- DouYin/Test/T1_GetCookie.py | 176 ++ DouYin/Test/T2_BigV.py | 203 ++ DouYin/Test/config_douyin.yml | 16 + DouYin/Test/user_data_MS4wLjAB.json | 1935 +++++++++++++++++ DouYin/apiproxy/__init__.py | 2 +- DouYin/apiproxy/douyin/__init__.py | 4 +- DouYin/apiproxy/douyin/douyin.py | 54 +- .../新电途_20260210_115509.xlsx | Bin 0 -> 169030 bytes .../特来电_20260210_115509.xlsx | Bin 0 -> 94348 bytes 34 files changed, 2396 insertions(+), 2895 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json delete mode 100644 DataX/json/t_account_recharge.json delete mode 100644 DataX/json/t_account_water.json delete mode 100644 DataX/json/t_car.json delete mode 100644 DataX/json/t_company.json delete mode 100644 DataX/json/t_company_info_value.json delete mode 100644 DataX/json/t_connector.json delete mode 100644 DataX/json/t_equipment.json delete mode 100644 DataX/json/t_equipment_charge_order.json delete mode 100644 DataX/json/t_equipment_charge_order_detail.json delete mode 100644 DataX/json/t_ext_hurry_quit.json delete mode 100644 DataX/json/t_station.json delete mode 100644 DataX/json/t_time_day.json delete mode 100644 DataX/json/t_user.json delete mode 100644 DataX/json/t_user_account.json delete mode 100644 DataX/json/t_user_upload_fault.json delete mode 100644 DataX/run_jobs_full.sh delete mode 100644 DataX/run_jobs_inc.sh delete mode 100644 DataX/start_cron_inc.sh delete mode 100644 DataX/stop_cron_inc.sh delete mode 100644 DataX/tool/LoadCsvToMysql.py delete mode 100644 DataX/说明.md create mode 100644 DouYin/Test/T1_GetCookie.py create mode 100644 DouYin/Test/T2_BigV.py create mode 100644 DouYin/Test/config_douyin.yml create mode 100644 DouYin/Test/user_data_MS4wLjAB.json create mode 100644 Tools/Excel/20260210_115509/新电途_20260210_115509.xlsx create mode 100644 Tools/Excel/20260210_115509/特来电_20260210_115509.xlsx diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..631ef8a --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,6 @@ +{ + "recommendations": [ + "ms-python.python", + "ms-python.vscode-pylance" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..4b27980 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run wxChat", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/Start.py", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..356ba69 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.defaultInterpreterPath": "D:\\anaconda3\\envs\\py310\\python.exe" +} \ No newline at end of file diff --git a/Apps/TelaiDian/Config/__pycache__/Setting.cpython-310.pyc b/Apps/TelaiDian/Config/__pycache__/Setting.cpython-310.pyc index 70c1be4c9909a2a59061828a17c9392b1edd5620..f405b0d0875641c7b6e3f10411d0492ec5e3ad93 100644 GIT binary patch delta 25 ecmeBY?PulA=jG*M00Q6iiizC$j7A%)MVJ6We+6>@ delta 25 fcmeBY?PulA=jG*M0D{>{SrfVQ8AUc$i!cEILJkE` diff --git a/DataX/json/t_account_recharge.json b/DataX/json/t_account_recharge.json deleted file mode 100644 index 727ce5f..0000000 --- a/DataX/json/t_account_recharge.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "prid", - "order_id", - "outtradeno", - "pay_time", - "pay_money", - "refund_time", - "refund_money", - "refund_state", - "order_time", - "pay_xml", - "refund_xml", - "check_xml", - "pay_state", - "pay_type", - "phone", - "check_time", - "user_id", - "create_time", - "update_time", - "donate_money", - "memo", - "refund_memo", - "refund_outtradno", - "refund_image", - "refund_operer", - "rechage_operer", - "refund_reason", - "vip", - "meal_id", - "refund_apply_time", - "pay_method" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_account_recharge" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "prid", - "order_id", - "outtradeno", - "pay_time", - "pay_money", - "refund_time", - "refund_money", - "refund_state", - "order_time", - "pay_xml", - "refund_xml", - "check_xml", - "pay_state", - "pay_type", - "phone", - "check_time", - "user_id", - "create_time", - "update_time", - "donate_money", - "memo", - "refund_memo", - "refund_outtradno", - "refund_image", - "refund_operer", - "rechage_operer", - "refund_reason", - "vip", - "meal_id", - "refund_apply_time", - "pay_method" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_account_recharge" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_account_recharge" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_account_water.json b/DataX/json/t_account_water.json deleted file mode 100644 index 54b63f8..0000000 --- a/DataX/json/t_account_water.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "cash", - "phone", - "txt_desc", - "sign_msg", - "reason", - "sign", - "type", - "order_id", - "treatment", - "user_id", - "pay_status", - "pay_method", - "update_time", - "create_time", - "pre_balance", - "bef_balance", - "memo", - "donate_money", - "ua_balance", - "to_user_id" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_account_water" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "cash", - "phone", - "txt_desc", - "sign_msg", - "reason", - "sign", - "type", - "order_id", - "treatment", - "user_id", - "pay_status", - "pay_method", - "update_time", - "create_time", - "pre_balance", - "bef_balance", - "memo", - "donate_money", - "ua_balance", - "to_user_id" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_account_water" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_account_water" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_car.json b/DataX/json/t_car.json deleted file mode 100644 index be62364..0000000 --- a/DataX/json/t_car.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "car_plate_no", - "car_sn", - "car_brand_name", - "car_model_name", - "car_vin", - "car_engine", - "car_type", - "car_owner_company_id", - "car_business", - "car_bus_path", - "is_auto_charge", - "user_id", - "user_card_no", - "is_disable", - "create_time", - "update_time", - "operator_id" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_car" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "car_plate_no", - "car_sn", - "car_brand_name", - "car_model_name", - "car_vin", - "car_engine", - "car_type", - "car_owner_company_id", - "car_business", - "car_bus_path", - "is_auto_charge", - "user_id", - "user_card_no", - "is_disable", - "create_time", - "update_time", - "operator_id" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_car" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_car" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_company.json b/DataX/json/t_company.json deleted file mode 100644 index 9c82856..0000000 --- a/DataX/json/t_company.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "company_no", - "company_type", - "company_name", - "company_state", - "company_logo", - "company_admin_phone", - "company_admin_name", - "balance_remind", - "balance_remind_phone", - "agent_id", - "station_set_type", - "specified_range", - "specified_operator_ids", - "is_company_discount", - "is_overlay_coupons", - "station_ids", - "no_discount_stationids", - "remark", - "invoice_eligible", - "refuse_invoice_tip", - "is_share_master", - "settlement_method", - "charge_discount_type", - "charge_discount", - "settle_status", - "charge_unit_service", - "charge_unit_electric", - "is_custom_price", - "company_order_permission", - "open_station_ids", - "create_time", - "update_time", - "minimum_recharge_amount", - "inner_person" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_company" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "company_no", - "company_type", - "company_name", - "company_state", - "company_logo", - "company_admin_phone", - "company_admin_name", - "balance_remind", - "balance_remind_phone", - "agent_id", - "station_set_type", - "specified_range", - "specified_operator_ids", - "is_company_discount", - "is_overlay_coupons", - "station_ids", - "no_discount_stationids", - "remark", - "invoice_eligible", - "refuse_invoice_tip", - "is_share_master", - "settlement_method", - "charge_discount_type", - "charge_discount", - "settle_status", - "charge_unit_service", - "charge_unit_electric", - "is_custom_price", - "company_order_permission", - "open_station_ids", - "create_time", - "update_time", - "minimum_recharge_amount", - "inner_person" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_company" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_company" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_company_info_value.json b/DataX/json/t_company_info_value.json deleted file mode 100644 index 4147538..0000000 --- a/DataX/json/t_company_info_value.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "info_value", - "type_id", - "create_time", - "update_time", - "remark", - "renzheng_flag" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_company_info_value" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "info_value", - "type_id", - "create_time", - "update_time", - "remark", - "renzheng_flag" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_company_info_value" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_company_info_value" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_connector.json b/DataX/json/t_connector.json deleted file mode 100644 index 9e915c1..0000000 --- a/DataX/json/t_connector.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "equipment_id", - "connector_sn", - "connector_short_sn", - "connector_no", - "connector_name", - "connector_type", - "voltage_upper_limits", - "voltage_lower_limits", - "current", - "power", - "parkno", - "appointment_id", - "appointment_user_id", - "open_lock_user_id", - "detection_type", - "is_ground_lock", - "is_ground_lock_msg", - "is_geomagnetic", - "is_geomagnetic_msg", - "is_appointment", - "is_appointment_msg", - "auto_open_lock_time", - "create_time", - "update_time" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_connector" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "equipment_id", - "connector_sn", - "connector_short_sn", - "connector_no", - "connector_name", - "connector_type", - "voltage_upper_limits", - "voltage_lower_limits", - "current", - "power", - "parkno", - "appointment_id", - "appointment_user_id", - "open_lock_user_id", - "detection_type", - "is_ground_lock", - "is_ground_lock_msg", - "is_geomagnetic", - "is_geomagnetic_msg", - "is_appointment", - "is_appointment_msg", - "auto_open_lock_time", - "create_time", - "update_time" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_connector" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_connector" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_equipment.json b/DataX/json/t_equipment.json deleted file mode 100644 index bf81d8b..0000000 --- a/DataX/json/t_equipment.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "station_id", - "agreement_id", - "equipment_name", - "equipment_sn", - "equipment_short_sn", - "equipment_no", - "manufacturer_id", - "manufacturer_sn", - "manufacturer_name", - "equipment_model", - "production_date", - "equipment_type", - "equipment_type_msg", - "equipment_lng", - "equipment_lat", - "connector_count", - "power", - "national_standard", - "national_standard_msg", - "status", - "equipment_business_type", - "equipment_business_type_msg", - "is_use_card", - "is_use_card_msg", - "charge_host_esn", - "create_time", - "update_time", - "aux_power", - "app_show" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_equipment" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "station_id", - "agreement_id", - "equipment_name", - "equipment_sn", - "equipment_short_sn", - "equipment_no", - "manufacturer_id", - "manufacturer_sn", - "manufacturer_name", - "equipment_model", - "production_date", - "equipment_type", - "equipment_type_msg", - "equipment_lng", - "equipment_lat", - "connector_count", - "power", - "national_standard", - "national_standard_msg", - "status", - "equipment_business_type", - "equipment_business_type_msg", - "is_use_card", - "is_use_card_msg", - "charge_host_esn", - "create_time", - "update_time", - "aux_power", - "app_show" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_equipment" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_equipment" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_equipment_charge_order.json b/DataX/json/t_equipment_charge_order.json deleted file mode 100644 index aef7367..0000000 --- a/DataX/json/t_equipment_charge_order.json +++ /dev/null @@ -1,285 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "user_id", - "company_id", - "station_id", - "equipment_id", - "connector_id", - "user_card_no", - "state", - "operate_state", - "order_no", - "platform_order_no", - "platform_sale_type", - "platform_driver_id", - "platform_phone", - "charging_amt", - "order_type", - "order_time", - "charge_begin_time", - "charge_end_time", - "charge_begin_degree", - "charge_end_degree", - "charge_degree", - "charge_ah", - "charge_times_degree", - "charge_begin_soc", - "charge_end_soc", - "charge_cur_soc", - "charge_duration", - "charge_settle_type", - "charge_unit_price", - "charge_unit_cost", - "charge_unit_service_fee", - "receivable_electric_fee", - "receivable_service_fee", - "receivable_total_fee", - "charge_elecfee_amount", - "charge_elecfee_cost_amount", - "charge_service_amount", - "actual_pay_amount", - "pay_order_no", - "pay_amount", - "pay_method", - "pay_status", - "pay_time", - "user_coupon_id", - "coupon_name", - "coupon_type", - "coupon_amount", - "elecfee_coupon_amount", - "servicefee_coupon_amount", - "invoice_id", - "invoice_fee", - "ticket_status", - "activity_electric_fee", - "activity_service_fee", - "charge_plate_no", - "charge_vin", - "charge_strategy", - "charge_strategy_param", - "operator_id", - "operator_income", - "plat_service_fee", - "charge_discount_type", - "settle_electric_fee", - "settle_service_fee", - "settle_fee", - "settle_method", - "settle_coupon_amount", - "settle_coupon_electric_fee", - "settle_coupon_service_fee", - "settle_status", - "cancel_type", - "cancel_code", - "cancel_msg", - "cancel_time", - "finish_type", - "finish_code", - "finish_msg", - "finish_time", - "boot_mode", - "settlement_type", - "is_parking_coupon", - "control_source", - "exception_flag", - "exception_msg", - "report_time", - "com_service_fee", - "com_electric_fee", - "com_total_fee", - "com_charge_discount_type", - "com_charge_discount", - "has_shallow_report", - "has_deep_report", - "is_exception", - "shallow_report_is_received", - "create_time", - "update_time", - "charge_market_id", - "coupon_total_amount", - "coupon_service_total_amount", - "coupon_elecfee_total_amount", - "activity_name", - "activity_total_fee", - "company_activity_id", - "company_activity_name", - "company_activity_total_fee", - "company_activity_service_fee", - "company_activity_electric_fee", - "subsidy_degree", - "subsidy_fee", - "special_channel_order_source" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_equipment_charge_order" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "user_id", - "company_id", - "station_id", - "equipment_id", - "connector_id", - "user_card_no", - "state", - "operate_state", - "order_no", - "platform_order_no", - "platform_sale_type", - "platform_driver_id", - "platform_phone", - "charging_amt", - "order_type", - "order_time", - "charge_begin_time", - "charge_end_time", - "charge_begin_degree", - "charge_end_degree", - "charge_degree", - "charge_ah", - "charge_times_degree", - "charge_begin_soc", - "charge_end_soc", - "charge_cur_soc", - "charge_duration", - "charge_settle_type", - "charge_unit_price", - "charge_unit_cost", - "charge_unit_service_fee", - "receivable_electric_fee", - "receivable_service_fee", - "receivable_total_fee", - "charge_elecfee_amount", - "charge_elecfee_cost_amount", - "charge_service_amount", - "actual_pay_amount", - "pay_order_no", - "pay_amount", - "pay_method", - "pay_status", - "pay_time", - "user_coupon_id", - "coupon_name", - "coupon_type", - "coupon_amount", - "elecfee_coupon_amount", - "servicefee_coupon_amount", - "invoice_id", - "invoice_fee", - "ticket_status", - "activity_electric_fee", - "activity_service_fee", - "charge_plate_no", - "charge_vin", - "charge_strategy", - "charge_strategy_param", - "operator_id", - "operator_income", - "plat_service_fee", - "charge_discount_type", - "settle_electric_fee", - "settle_service_fee", - "settle_fee", - "settle_method", - "settle_coupon_amount", - "settle_coupon_electric_fee", - "settle_coupon_service_fee", - "settle_status", - "cancel_type", - "cancel_code", - "cancel_msg", - "cancel_time", - "finish_type", - "finish_code", - "finish_msg", - "finish_time", - "boot_mode", - "settlement_type", - "is_parking_coupon", - "control_source", - "exception_flag", - "exception_msg", - "report_time", - "com_service_fee", - "com_electric_fee", - "com_total_fee", - "com_charge_discount_type", - "com_charge_discount", - "has_shallow_report", - "has_deep_report", - "is_exception", - "shallow_report_is_received", - "create_time", - "update_time", - "charge_market_id", - "coupon_total_amount", - "coupon_service_total_amount", - "coupon_elecfee_total_amount", - "activity_name", - "activity_total_fee", - "company_activity_id", - "company_activity_name", - "company_activity_total_fee", - "company_activity_service_fee", - "company_activity_electric_fee", - "subsidy_degree", - "subsidy_fee", - "special_channel_order_source" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_equipment_charge_order" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_equipment_charge_order" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_equipment_charge_order_detail.json b/DataX/json/t_equipment_charge_order_detail.json deleted file mode 100644 index d5d1808..0000000 --- a/DataX/json/t_equipment_charge_order_detail.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "order_no", - "charge_degree", - "service_fee", - "electric_fee", - "cost_fee", - "service_fee_unit_price", - "electric_fee_unit_price", - "cost_fee_unit_price", - "activity_service_fee", - "activity_electric_fee", - "charge_startr_time", - "charge_end_time", - "charge_meal_electric_fee", - "charge_meal_service_fee", - "charge_meal_total_fee", - "electric_card_use_dgree", - "check_electric_unit_price", - "check_service_unit_price", - "time_flag", - "create_time", - "update_time", - "detail_more" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_equipment_charge_order_detail" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}", - "where": "" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "order_no", - "charge_degree", - "service_fee", - "electric_fee", - "cost_fee", - "service_fee_unit_price", - "electric_fee_unit_price", - "cost_fee_unit_price", - "activity_service_fee", - "activity_electric_fee", - "charge_startr_time", - "charge_end_time", - "charge_meal_electric_fee", - "charge_meal_service_fee", - "charge_meal_total_fee", - "electric_card_use_dgree", - "check_electric_unit_price", - "check_service_unit_price", - "time_flag", - "create_time", - "update_time", - "detail_more" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_equipment_charge_order_detail" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_equipment_charge_order_detail" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_ext_hurry_quit.json b/DataX/json/t_ext_hurry_quit.json deleted file mode 100644 index a2f5d8d..0000000 --- a/DataX/json/t_ext_hurry_quit.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "order_no", - "telephone", - "user_id", - "message1", - "message2", - "create_time", - "station_id", - "equipment_id", - "connector_id", - "flag", - "close_time", - "finish_time", - "minutesDifference", - "reduce_money", - "beforeBalance", - "afterBalance", - "fee_station", - "manual_count", - "last_manual_time", - "last_manual_message", - "person_id", - "refund_status", - "refund_time", - "refund_person_id", - "refund_person_name", - "refund_amount", - "refund_type", - "unplug_time" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_ext_hurry_quit" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "order_no", - "telephone", - "user_id", - "message1", - "message2", - "create_time", - "station_id", - "equipment_id", - "connector_id", - "flag", - "close_time", - "finish_time", - "minutesDifference", - "reduce_money", - "beforeBalance", - "afterBalance", - "fee_station", - "manual_count", - "last_manual_time", - "last_manual_message", - "person_id", - "refund_status", - "refund_time", - "refund_person_id", - "refund_person_name", - "refund_amount", - "refund_type", - "unplug_time" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_ext_hurry_quit" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_ext_hurry_quit" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_station.json b/DataX/json/t_station.json deleted file mode 100644 index b4de818..0000000 --- a/DataX/json/t_station.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "station_sn", - "operator_id", - "equioment_owner_id", - "station_name", - "country_code", - "region_id", - "region_code", - "regional_name", - "regional_code", - "address", - "station_tel", - "service_tel", - "station_type", - "station_type_msg", - "station_business_type", - "station_business_type_msg", - "station_status", - "station_status_msg", - "park_nums", - "station_lng", - "station_lat", - "site_guide", - "construction", - "construction_msg", - "pictures", - "match_cars", - "park_info", - "business_start_time", - "business_end_time", - "electricity_fee", - "service_fee", - "is_park_fee", - "park_fee", - "payment", - "payment_msg", - "support_order", - "support_order_msg", - "service_item", - "service_item_image_url", - "service_item_msg", - "station_location_type", - "station_location_type_msg", - "station_charge_type", - "station_charge_type_msg", - "station_power", - "station_voltage", - "station_current", - "is_open", - "is_open_msg", - "is_display", - "is_display_msg", - "sharing_code", - "sharing_applet_picture", - "theme_picture", - "is_barrier_flag", - "is_barrier_flag_msg", - "charge_settle_type", - "charge_settle_type_msg", - "fast_connector_nums", - "slow_connector_nums", - "transformer_capacity", - "installed_capacity", - "remark", - "record_unique_no", - "equipment_owner_name", - "supply_type", - "resident_no", - "watt_hour_meter_no", - "forward_power", - "operation_date", - "charge_replace_type", - "is_hlht", - "is_subsidy", - "create_time", - "update_time", - "area_code_countryside", - "business_expand_type", - "capacity", - "video_monitor", - "electricity_type", - "receive_shop" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_station" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "station_sn", - "operator_id", - "equioment_owner_id", - "station_name", - "country_code", - "region_id", - "region_code", - "regional_name", - "regional_code", - "address", - "station_tel", - "service_tel", - "station_type", - "station_type_msg", - "station_business_type", - "station_business_type_msg", - "station_status", - "station_status_msg", - "park_nums", - "station_lng", - "station_lat", - "site_guide", - "construction", - "construction_msg", - "pictures", - "match_cars", - "park_info", - "business_start_time", - "business_end_time", - "electricity_fee", - "service_fee", - "is_park_fee", - "park_fee", - "payment", - "payment_msg", - "support_order", - "support_order_msg", - "service_item", - "service_item_image_url", - "service_item_msg", - "station_location_type", - "station_location_type_msg", - "station_charge_type", - "station_charge_type_msg", - "station_power", - "station_voltage", - "station_current", - "is_open", - "is_open_msg", - "is_display", - "is_display_msg", - "sharing_code", - "sharing_applet_picture", - "theme_picture", - "is_barrier_flag", - "is_barrier_flag_msg", - "charge_settle_type", - "charge_settle_type_msg", - "fast_connector_nums", - "slow_connector_nums", - "transformer_capacity", - "installed_capacity", - "remark", - "record_unique_no", - "equipment_owner_name", - "supply_type", - "resident_no", - "watt_hour_meter_no", - "forward_power", - "operation_date", - "charge_replace_type", - "is_hlht", - "is_subsidy", - "create_time", - "update_time", - "area_code_countryside", - "business_expand_type", - "capacity", - "video_monitor", - "electricity_type", - "receive_shop" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_station" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_station" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_time_day.json b/DataX/json/t_time_day.json deleted file mode 100644 index bebd21e..0000000 --- a/DataX/json/t_time_day.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "create_time", - "update_time", - "time_fq", - "teme_ve" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_time_day" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "create_time", - "update_time", - "time_fq", - "teme_ve" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_time_day" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_time_day" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_user.json b/DataX/json/t_user.json deleted file mode 100644 index f05352c..0000000 --- a/DataX/json/t_user.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "user_name", - "nicker_name", - "sex", - "phone", - "qk_openid", - "open_id", - "ali_user_id", - "birthday", - "avatar", - "app_type", - "password", - "upper_user", - "master_flag", - "user_type", - "multi_charge", - "relation_phone", - "user_owner_id", - "union_id", - "state", - "reg_channel", - "reg_time", - "city_label_code", - "city_label", - "reg_source", - "create_time", - "update_time", - "operator", - "invite_code", - "identity_id", - "operator_id", - "address", - "vip_level", - "province_code", - "province", - "work_company", - "is_bind_wxinfo", - "company_min_charge_balance", - "enable_online_recharge", - "integral", - "shared_user", - "enable_online_refund", - "recommenderId", - "lx_wx_user_id", - "phone_area" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_user" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "user_name", - "nicker_name", - "sex", - "phone", - "qk_openid", - "open_id", - "ali_user_id", - "birthday", - "avatar", - "app_type", - "password", - "upper_user", - "master_flag", - "user_type", - "multi_charge", - "relation_phone", - "user_owner_id", - "union_id", - "state", - "reg_channel", - "reg_time", - "city_label_code", - "city_label", - "reg_source", - "create_time", - "update_time", - "operator", - "invite_code", - "identity_id", - "operator_id", - "address", - "vip_level", - "province_code", - "province", - "work_company", - "is_bind_wxinfo", - "company_min_charge_balance", - "enable_online_recharge", - "integral", - "shared_user", - "enable_online_refund", - "recommenderId", - "lx_wx_user_id", - "phone_area" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_user" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_user" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_user_account.json b/DataX/json/t_user_account.json deleted file mode 100644 index d41b38e..0000000 --- a/DataX/json/t_user_account.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "user_id", - "ua_balance", - "ua_deposit", - "ua_balance_time", - "ua_password", - "ua_state", - "ua_real_balance", - "ua_real_degree", - "create_time", - "update_time", - "donate_money", - "donate_able_money", - "ua_able_balance", - "refund_money", - "ua_consume_money", - "ua_clear_zero_money" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_user_account" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "user_id", - "ua_balance", - "ua_deposit", - "ua_balance_time", - "ua_password", - "ua_state", - "ua_real_balance", - "ua_real_degree", - "create_time", - "update_time", - "donate_money", - "donate_able_money", - "ua_able_balance", - "refund_money", - "ua_consume_money", - "ua_clear_zero_money" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_user_account" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_user_account" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/json/t_user_upload_fault.json b/DataX/json/t_user_upload_fault.json deleted file mode 100644 index cb66f2d..0000000 --- a/DataX/json/t_user_upload_fault.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "job": { - "content": [ - { - "reader": { - "name": "mysqlreader", - "parameter": { - "column": [ - "id", - "equipment_id", - "user_id", - "fault_config_id", - "remark", - "create_time", - "update_time" - ], - "connection": [ - { - "jdbcUrl": [ - "${src_jdbc}" - ], - "table": [ - "t_user_upload_fault" - ] - } - ], - "username": "${src_user}", - "password": "${src_pwd}" - } - }, - "writer": { - "name": "doriswriter", - "parameter": { - "loadUrl": [ - "${dest_load_url}" - ], - "column": [ - "id", - "equipment_id", - "user_id", - "fault_config_id", - "remark", - "create_time", - "update_time" - ], - "username": "${dest_user}", - "password": "${dest_pwd}", - "postSql": [], - "preSql": [ - "TRUNCATE TABLE t_user_upload_fault" - ], - "flushInterval": 30000, - "connection": [ - { - "jdbcUrl": "${dest_jdbc}", - "selectedDatabase": "yltcharge", - "table": [ - "t_user_upload_fault" - ] - } - ], - "loadProps": { - "format": "json", - "strip_outer_array": true - } - } - } - } - ], - "setting": { - "speed": { - "channel": "1" - } - } - } -} \ No newline at end of file diff --git a/DataX/run_jobs_full.sh b/DataX/run_jobs_full.sh deleted file mode 100644 index 8829a6f..0000000 --- a/DataX/run_jobs_full.sh +++ /dev/null @@ -1,297 +0,0 @@ -#!/bin/bash -export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -[ -f /etc/profile ] && . /etc/profile -[ -f ~/.bash_profile ] && . ~/.bash_profile -[ -f ~/.profile ] && . ~/.profile - -TARGET=$1 - -if [ -z "$TARGET" ]; then - echo "用法: $0 " - echo "请指定同步目标:" - echo " doris - 全量同步到 Doris (默认端口 9030)" - echo " mysql - 全量同步到 MySQL (CSV Load 模式,高性能)" - # echo " mysql_jdbc - 全量同步到 MySQL (JDBC Batch 模式,速度较慢)" - exit 1 -fi - -DATAX_HOME="/usr/local/datax" -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -CONF_DIR="$SCRIPT_DIR/json" # 更新为统一目录 -BIN_DIR="$DATAX_HOME/bin" -DATAX_PY="$BIN_DIR/datax.py" -TOOL_DIR="$SCRIPT_DIR/tool" - -JOBS=( - "t_equipment_charge_order.json" - "t_equipment_charge_order_detail.json" - "t_account_recharge.json" - "t_account_water.json" - "t_car.json" - "t_company.json" - "t_company_info_value.json" - "t_connector.json" - "t_equipment.json" - "t_station.json" - "t_ext_hurry_quit.json" - "t_time_day.json" - "t_user.json" - "t_user_account.json" - "t_user_upload_fault.json" -) - -# 公共源端参数 -SRC_PARAMS="-Dsrc_user=ylt -Dsrc_pwd=Ycharge666 -Dsrc_jdbc=jdbc:mysql://rm-bp1ux6tuk49er80t9xo.mysql.rds.aliyuncs.com:3306/yltcharge?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai" - -if [ "$TARGET" == "doris" ]; then - echo "模式: Doris 全量同步" - DEST_PARAMS="-Ddest_user=root -Ddest_pwd=DsideaL147258369 -Ddest_load_url=10.10.14.204:8030 -Ddest_jdbc=jdbc:mysql://10.10.14.204:9030/yltcharge?useSSL=false" - PARAMS="$SRC_PARAMS $DEST_PARAMS" -elif [ "$TARGET" == "mysql" ]; then - echo "模式: MySQL 全量同步 (CSV Load)" - # 注意: CSV Load 模式下 DataX 负责写文件,Python 负责 Load。JDBC 参数用于 Python 连接。 - DEST_PARAMS="-Ddest_mysql_user=ylt -Ddest_mysql_pwd=Ycharge666 -Ddest_mysql_jdbc=jdbc:mysql://10.10.14.210:22066/yltcharge?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowLoadLocalInfile=true" - PARAMS="$SRC_PARAMS $DEST_PARAMS" -# elif [ "$TARGET" == "mysql_jdbc" ]; then -# echo "模式: MySQL 全量同步 (JDBC Batch)" -# DEST_PARAMS="-Ddest_mysql_user=ylt -Ddest_mysql_pwd=Ycharge666 -Ddest_mysql_jdbc=jdbc:mysql://10.10.14.210:22066/yltcharge?useUnicode=true&characterEncoding=UTF-8&useSSL=false&rewriteBatchedStatements=true&autoReconnect=true&failOverReadOnly=false" -# PARAMS="$SRC_PARAMS $DEST_PARAMS" -else - echo "错误: 未知目标 '$TARGET'。请使用 'doris' 或 'mysql'。" - exit 1 -fi - -SCRIPT_START_TIME=$(date '+%Y-%m-%d %H:%M:%S') -SCRIPT_START_TIMESTAMP=$(date +%s) - -echo "=====================================" -echo "DataX 全量同步脚本 (Target: $TARGET)" -echo "=====================================" -echo "配置文件目录: $CONF_DIR" -echo "任务数量: ${#JOBS[@]}" -echo "脚本开始时间: $SCRIPT_START_TIME" -echo "=====================================" - -cd "$CONF_DIR" || { echo "错误: 无法进入配置文件目录 $CONF_DIR"; exit 1; } - -SUCCESS_COUNT=0 -FAIL_COUNT=0 -TOTAL=${#JOBS[@]} -CURRENT=0 - -# 清理旧的 CSV 临时目录 -if [ "$TARGET" == "mysql" ]; then - rm -rf "$SCRIPT_DIR/datax_tmp_csv" -fi - -for JOB in "${JOBS[@]}"; do - CURRENT=$((CURRENT + 1)) - echo "任务 [$CURRENT/$TOTAL] $JOB" - echo "----------------------------------------" - - if [ ! -f "$JOB" ]; then - echo "✗ 错误: 文件不存在 - $JOB" - FAIL_COUNT=$((FAIL_COUNT + 1)) - continue - fi - - START_TIME=$(date +%s) - JOB_FILE="$JOB" - - # 变量用于存储 mysql_load 模式下的元数据 - TABLE_NAME="" - COLUMNS_JSON="" - CSV_DIR="" - - # --------------------------------------------------------- - # 配置转换逻辑 - # --------------------------------------------------------- - - TMP_FILE="/tmp/datax_optimized_${TARGET}_${JOB}" - - # 传递目标类型和 CSV 输出目录给 Python - export DATAX_TARGET="$TARGET" - if [ "$TARGET" == "mysql" ]; then - CSV_DIR="$SCRIPT_DIR/datax_tmp_csv/${JOB%.json}" - export DATAX_CSV_DIR="$CSV_DIR" - fi - - # 执行 Python 转换脚本并捕获输出 - TRANSFORM_OUTPUT=$(/usr/bin/python - <<'PY' "$JOB" "$TMP_FILE" -import json, sys, re, os - -src_path = sys.argv[1] -dst_path = sys.argv[2] -target = os.environ.get('DATAX_TARGET', 'doris') -csv_dir = os.environ.get('DATAX_CSV_DIR', '') - -with open(src_path, 'r', encoding='utf-8') as f: - data = json.load(f) - -# 1. 基础性能优化 (设置并发和内存限制) -if 'setting' not in data['job']: - data['job']['setting'] = {} -data['job']['setting']['speed'] = { - "channel": 8, # 提高并发到 8,加速 Reader 读取 -} -data['job']['setting']['errorLimit'] = { - "record": 0 -} - -unit = data['job']['content'][0] -reader = unit.get('reader', {}) -writer = unit.get('writer', {}) -rp = reader.get('parameter', {}) -wp = writer.get('parameter', {}) - -# 2. Reader 优化 (FetchSize) -rp['fetchSize'] = 10000 # 极大增加读取缓存,减少网络往返 - -# 获取表名 -table_name = None -try: - # 优先尝试从 writer.parameter.connection[0].table[0] 获取 - table_name = wp.get('connection', [{}])[0].get('table', [None])[0] -except Exception: - pass -if not table_name: - try: - # 其次尝试从 reader.parameter.connection[0].table[0] 获取 - table_name = rp.get('connection', [{}])[0].get('table', [None])[0] - except Exception: - pass -if not table_name: - # 最后尝试从 querySql 解析 - q = rp.get('connection', [{}])[0].get('querySql', [None])[0] - if q: - m = re.search(r'FROM\s+`?(\w+)`?', q, re.IGNORECASE) - if m: - table_name = m.group(1) - -if not table_name: - # 如果还是没找到,使用文件名去掉 .json - table_name = os.path.basename(src_path).replace('.json', '') - -# 获取列 -columns = wp.get('column') or rp.get('column') -if not columns: - # 默认使用 * (虽然 DataX 不推荐,但作为兜底) - columns = ["*"] - -# 3. 根据目标转换 Writer -if target == 'mysql': - if not os.path.exists(csv_dir): - os.makedirs(csv_dir) - - new_writer = { - "name": "txtfilewriter", - "parameter": { - "path": csv_dir, - "fileName": table_name, - "writeMode": "truncate", - "fileFormat": "csv", - "separator": ",", - "quoteChar": "\"", - "escapeChar": "\\", - "nullFormat": "\\N", - "header": [], - "column": columns - } - } - unit['writer'] = new_writer - -# 输出元数据供 Shell 使用 -print(table_name) -print(json.dumps(columns)) - -with open(dst_path, 'w', encoding='utf-8') as f: - json.dump(data, f, ensure_ascii=False, indent=4) -PY - ) - - if [ $? -ne 0 ]; then - echo "✗ 错误: 生成配置文件失败 - $JOB" - echo "$TRANSFORM_OUTPUT" - FAIL_COUNT=$((FAIL_COUNT + 1)) - continue - fi - - JOB_FILE="$TMP_FILE" - - # 解析元数据 - TABLE_NAME=$(echo "$TRANSFORM_OUTPUT" | sed -n '1p' | tr -d '\r') - COLUMNS_JSON=$(echo "$TRANSFORM_OUTPUT" | sed -n '2p' | tr -d '\r') - - # --------------------------------------------------------- - # 执行 DataX - # --------------------------------------------------------- - - # 构造 Java 命令 - CLASS_PATH="$DATAX_HOME/lib/*:$DATAX_HOME/conf:." - # 优化 JVM 参数: 增大内存,使用 G1 回收器提高吞吐,增加 Metaspace 空间 - JVM_OPTS="-server -Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError" - - java $JVM_OPTS -classpath "$CLASS_PATH" \ - -Dfile.encoding=UTF-8 \ - -Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener \ - -Djava.security.egd=file:///dev/urandom \ - -Ddatax.home="$DATAX_HOME" \ - -Dlogback.configurationFile="$DATAX_HOME/conf/logback.xml" \ - $PARAMS \ - com.alibaba.datax.core.Engine \ - -mode standalone \ - -jobid -1 \ - -job "$JOB_FILE" | sed "s/^/[$TABLE_NAME] /" - - EXIT_CODE=$? - - # --------------------------------------------------------- - # 后置处理: mysql 模式下执行导入 - # --------------------------------------------------------- - - if [ $EXIT_CODE -eq 0 ] && [ "$TARGET" == "mysql" ]; then - echo "DataX 导出完成,开始执行 MySQL Load Data..." - - # 提取连接参数 - # 注意: 这里简化处理,直接写死或从 PARAMS 中解析有点麻烦 - # 我们直接复用脚本顶部的变量,但要注意这些变量包含 -D 前缀 - # 所以最好直接传递硬编码的值或者重新定义变量 - - # 解析参数 (简单暴力去除 -Ddest_mysql_... 前缀) - # 这里为了稳健,我们直接使用 Python 脚本解析 JDBC URL - - # 定义 DB 连接信息 (与 DEST_PARAMS 保持一致) - DB_USER="ylt" - DB_PWD="Ycharge666" - DB_JDBC="jdbc:mysql://10.10.14.210:22066/yltcharge?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowLoadLocalInfile=true" - - python "$TOOL_DIR/LoadCsvToMysql.py" \ - "$DB_JDBC" \ - "$DB_USER" \ - "$DB_PWD" \ - "$TABLE_NAME" \ - "$CSV_DIR" \ - "$COLUMNS_JSON" - - EXIT_CODE=$? - - # 清理临时 CSV - rm -rf "$CSV_DIR" - fi - - END_TIME=$(date +%s) - DURATION=$((END_TIME - START_TIME)) - - if [ $EXIT_CODE -eq 0 ]; then - echo "✓ 成功: $JOB 用时 ${DURATION}s" - SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) - else - echo "✗ 失败: $JOB 用时 ${DURATION}s (exit=$EXIT_CODE)" - FAIL_COUNT=$((FAIL_COUNT + 1)) - fi - echo "----------------------------------------" -done - -TOTAL_TIME=$(( $(date +%s) - SCRIPT_START_TIMESTAMP )) -echo "完成: 成功 $SUCCESS_COUNT, 失败 $FAIL_COUNT, 总耗时 ${TOTAL_TIME}s" -exit $([ $FAIL_COUNT -eq 0 ] && echo 0 || echo 1) diff --git a/DataX/run_jobs_inc.sh b/DataX/run_jobs_inc.sh deleted file mode 100644 index a7ca9df..0000000 --- a/DataX/run_jobs_inc.sh +++ /dev/null @@ -1,260 +0,0 @@ -#!/bin/bash -export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -[ -f /etc/profile ] && . /etc/profile -[ -f ~/.bash_profile ] && . ~/.bash_profile -[ -f ~/.profile ] && . ~/.profile - -TARGET=$1 - -if [ -z "$TARGET" ]; then - echo "用法: $0 " - echo "请指定同步目标:" - echo " doris - 增量同步到 Doris" - echo " mysql - 增量同步到 MySQL" - exit 1 -fi - -DATAX_HOME="/usr/local/datax" -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -CONF_DIR="$SCRIPT_DIR/json" # 更新为统一目录 -BIN_DIR="$DATAX_HOME/bin" -DATAX_PY="$BIN_DIR/datax.py" - -JOBS=( - "t_equipment_charge_order.json" - "t_equipment_charge_order_detail.json" - "t_account_recharge.json" - "t_account_water.json" - "t_car.json" - "t_company.json" - "t_company_info_value.json" - "t_connector.json" - "t_equipment.json" - "t_station.json" - "t_ext_hurry_quit.json" - "t_time_day.json" - "t_user.json" - "t_user_account.json" - "t_user_upload_fault.json" -) - -# 公共源端参数 -SRC_PARAMS="-Dsrc_user=ylt -Dsrc_pwd=Ycharge666 -Dsrc_jdbc=jdbc:mysql://rm-bp1ux6tuk49er80t9xo.mysql.rds.aliyuncs.com:3306/yltcharge?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai" - -if [ "$TARGET" == "doris" ]; then - echo "模式: Doris 增量同步" - DEST_PARAMS="-Ddest_user=root -Ddest_pwd=DsideaL147258369 -Ddest_load_url=10.10.14.204:8030 -Ddest_jdbc=jdbc:mysql://10.10.14.204:9030/yltcharge?useSSL=false" - PARAMS="$SRC_PARAMS $DEST_PARAMS" -elif [ "$TARGET" == "mysql" ]; then - echo "模式: MySQL 增量同步 (10.10.14.210:22066)" - DEST_PARAMS="-Ddest_mysql_user=ylt -Ddest_mysql_pwd=Ycharge666 -Ddest_mysql_jdbc=jdbc:mysql://10.10.14.210:22066/yltcharge?useUnicode=true&characterEncoding=UTF-8&useSSL=false&rewriteBatchedStatements=true&autoReconnect=true&failOverReadOnly=false" - PARAMS="$SRC_PARAMS $DEST_PARAMS" -else - echo "错误: 未知目标 '$TARGET'。请使用 'doris' 或 'mysql'。" - exit 1 -fi - -SCRIPT_START_TIME=$(date '+%Y-%m-%d %H:%M:%S') -SCRIPT_START_TIMESTAMP=$(date +%s) - -echo "=====================================" -echo "DataX 增量同步脚本 (Target: $TARGET)" -echo "=====================================" -echo "配置文件目录: $CONF_DIR" -echo "任务数量: ${#JOBS[@]}" -echo "脚本开始时间: $SCRIPT_START_TIME" -echo "=====================================" - -cd "$CONF_DIR" || { echo "错误: 无法进入配置文件目录 $CONF_DIR"; exit 1; } - -SUCCESS_COUNT=0 -FAIL_COUNT=0 -TOTAL=${#JOBS[@]} -CURRENT=0 - -for JOB in "${JOBS[@]}"; do - CURRENT=$((CURRENT + 1)) - echo "任务 [$CURRENT/$TOTAL] $JOB" - echo "----------------------------------------" - - if [ ! -f "$JOB" ]; then - echo "✗ 错误: 文件不存在 - $JOB" - FAIL_COUNT=$((FAIL_COUNT + 1)) - continue - fi - - START_TIME=$(date +%s) - JOB_FILE="$JOB" - - # 生成临时配置文件: 修改 Reader 为 querySql (增量逻辑) 且根据目标修改 Writer - TMP_FILE="/tmp/datax_inc_${TARGET}_${JOB}" - - # 传递目标类型给 Python 脚本 - export DATAX_TARGET="$TARGET" - - /usr/bin/python - <<'PY' "$JOB" "$TMP_FILE" -import json, sys, os, re - -src_path = sys.argv[1] -dst_path = sys.argv[2] -target = os.environ.get('DATAX_TARGET', 'doris') - -with open(src_path, 'r', encoding='utf-8') as f: - data = json.load(f) - -# 0. 基础性能优化 (设置并发和内存限制) -if 'setting' not in data['job']: - data['job']['setting'] = {} -data['job']['setting']['speed'] = { - "channel": 8, # 提高并发到 8 -} - -unit = data['job']['content'][0] -reader = unit.get('reader', {}) -writer = unit.get('writer', {}) -rp = reader.get('parameter', {}) -wp = writer.get('parameter', {}) - -# 0.1 Reader 优化 (FetchSize) -rp['fetchSize'] = 10000 # 极大增加读取缓存,减少网络往返 - -# --------------------------------------------------------- -# 1. Reader 转换: 从 table 模式转换为 querySql 模式 (增量逻辑) -# --------------------------------------------------------- - -# 获取列列表 -columns = rp.get('column') -if not columns: - # 尝试从 writer 获取 - columns = wp.get('column') - -if not columns: - # 兜底 - columns = ["*"] - -# 获取表名 -table_name = None -try: - table_name = rp.get('connection', [{}])[0].get('table', [None])[0] -except Exception: - pass - -if not table_name: - # 尝试从 querySql 解析 (如果源文件已经是 querySql 模式) - try: - q = rp.get('connection', [{}])[0].get('querySql', [None])[0] - if q: - m = re.search(r'FROM\s+`?(\w+)`?', q, re.IGNORECASE) - if m: - table_name = m.group(1) - except Exception: - pass - -if not table_name: - # 兜底:使用文件名 - table_name = os.path.basename(src_path).replace('.json', '') - -# 构建增量查询 SQL: SELECT col1, col2... FROM table ORDER BY id DESC LIMIT 1000 -# 注意: 这里假设所有表都有 id 列。如果无 id 列,可能需要特殊处理。 -has_id = 'id' in columns or columns == ["*"] # 如果是 *,我们尝试加上 id 排序 - -if has_id: - # 构建列字符串,处理反引号 - if columns == ["*"]: - col_str = "*" - else: - col_str = ", ".join(["`{}`".format(c) for c in columns]) - inc_sql = "SELECT {} FROM `{}` ORDER BY id DESC LIMIT 1000".format(col_str, table_name) - - # 更新 Reader 配置 - new_reader_conn = [ - { - "jdbcUrl": rp.get('connection', [{}])[0].get('jdbcUrl', ["${src_jdbc}"]), - "querySql": [inc_sql] - } - ] - rp['connection'] = new_reader_conn - # 清除 table 和 where 参数,因为 querySql 模式下这些通常不生效或冲突 - if 'table' in rp: del rp['table'] - if 'where' in rp: del rp['where'] -else: - print("警告: 表 %s 没有 id 列,无法使用 ORDER BY id DESC 策略,保持原样" % table_name) - -# --------------------------------------------------------- -# 2. Writer 转换: 如果目标是 MySQL,转换为 mysqlwriter -# --------------------------------------------------------- - -if target == 'mysql': - new_writer = { - "name": "mysqlwriter", - "parameter": { - "connection": [ - { - "jdbcUrl": "${dest_mysql_jdbc}", - "table": [table_name] - } - ], - "username": "${dest_mysql_user}", - "password": "${dest_mysql_pwd}", - "column": columns, - "writeMode": "replace", # 增量同步使用 replace 模式 - "batchSize": 2048, - "preSql": [], - "postSql": [] - } - } - unit['writer'] = new_writer - -# 输出表名供 Shell 使用 -print(table_name) - -with open(dst_path, 'w', encoding='utf-8') as f: - json.dump(data, f, ensure_ascii=False, indent=4) -PY - ) - - if [ $? -ne 0 ]; then - echo "✗ 错误: 生成增量配置文件失败 - $JOB" - FAIL_COUNT=$((FAIL_COUNT + 1)) - continue - fi - - # 提取 Python 输出的第一行作为表名 - TABLE_NAME=$(echo "$TRANSFORM_OUTPUT" | sed -n '1p' | tr -d '\r') - JOB_FILE="$TMP_FILE" - - # 构造 Java 命令 - CLASS_PATH="$DATAX_HOME/lib/*:$DATAX_HOME/conf:." - # 优化 JVM 参数: 增大内存,使用 G1 回收器提高吞吐,增加 Metaspace 空间 - JVM_OPTS="-server -Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError" - - java $JVM_OPTS -classpath "$CLASS_PATH" \ - -Dfile.encoding=UTF-8 \ - -Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener \ - -Djava.security.egd=file:///dev/urandom \ - -Ddatax.home="$DATAX_HOME" \ - -Dlogback.configurationFile="$DATAX_HOME/conf/logback.xml" \ - $PARAMS \ - com.alibaba.datax.core.Engine \ - -mode standalone \ - -jobid -1 \ - -job "$JOB_FILE" | sed "s/^/[$TABLE_NAME] /" - - EXIT_CODE=$? - - END_TIME=$(date +%s) - DURATION=$((END_TIME - START_TIME)) - - if [ $EXIT_CODE -eq 0 ]; then - echo "✓ 成功: $JOB 用时 ${DURATION}s" - SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) - else - echo "✗ 失败: $JOB 用时 ${DURATION}s (exit=$EXIT_CODE)" - FAIL_COUNT=$((FAIL_COUNT + 1)) - fi - echo "----------------------------------------" -done - -TOTAL_TIME=$(( $(date +%s) - SCRIPT_START_TIMESTAMP )) -echo "完成: 成功 $SUCCESS_COUNT, 失败 $FAIL_COUNT, 总耗时 ${TOTAL_TIME}s" -exit $([ $FAIL_COUNT -eq 0 ] && echo 0 || echo 1) diff --git a/DataX/start_cron_inc.sh b/DataX/start_cron_inc.sh deleted file mode 100644 index 2c99363..0000000 --- a/DataX/start_cron_inc.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -TARGET=$1 - -if [ -z "$TARGET" ]; then - echo "用法: $0 " - echo "请指定同步目标:" - echo " doris - 启动 Doris 增量同步定时任务" - echo " mysql - 启动 MySQL 增量同步定时任务" - exit 1 -fi - -if [ "$TARGET" != "doris" ] && [ "$TARGET" != "mysql" ]; then - echo "错误: 请指定目标 (doris 或 mysql)" - exit 1 -fi - -WORK_DIR="/usr/local/datax" -SCRIPT_NAME="run_jobs_inc.sh" -SCRIPT_PATH="$WORK_DIR/$SCRIPT_NAME" -LOG_FILE="$WORK_DIR/logs/datax_inc_${TARGET}_cron.log" - -export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -[ -f /etc/profile ] && . /etc/profile -[ -f ~/.bash_profile ] && . ~/.bash_profile -[ -f ~/.profile ] && . ~/.profile - -echo "正在检查环境..." -if [ ! -d "$WORK_DIR" ]; then - echo "错误: 工作目录 $WORK_DIR 不存在"; exit 1 -fi -if [ ! -f "$SCRIPT_PATH" ]; then - echo "错误: 执行脚本 $SCRIPT_PATH 不存在"; exit 1 -fi -if [ ! -d "$(dirname "$LOG_FILE")" ]; then - mkdir -p "$(dirname "$LOG_FILE")" -fi - -chmod +x "$SCRIPT_PATH" -# 构造 cron 命令,注意转义和参数传递 -# 修改为每 5 秒运行一次 (通过循环实现,因为 crontab 最小粒度是分钟) -CRON_CMD="* * * * * for i in {1..12}; do /bin/bash $SCRIPT_PATH $TARGET >> $LOG_FILE 2>&1; sleep 5; done" - -# 查找已存在的任务 (匹配脚本路径和目标参数) -EXISTING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH $TARGET") - -if [ -n "$EXISTING_JOB" ]; then - echo "提示: 该任务已存在,将先删除旧任务再重新添加..." - crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH $TARGET" | crontab - -fi - -(crontab -l 2>/dev/null; echo "$CRON_CMD") | crontab - - -echo "✅ $TARGET 增量定时任务设置成功" -crontab -l diff --git a/DataX/stop_cron_inc.sh b/DataX/stop_cron_inc.sh deleted file mode 100644 index b32fc76..0000000 --- a/DataX/stop_cron_inc.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -TARGET=$1 - -if [ -z "$TARGET" ]; then - echo "用法: $0 " - echo "请指定同步目标:" - echo " doris - 停止 Doris 增量同步定时任务" - echo " mysql - 停止 MySQL 增量同步定时任务" - exit 1 -fi - -if [ "$TARGET" != "doris" ] && [ "$TARGET" != "mysql" ]; then - echo "错误: 请指定目标 (doris 或 mysql)" - exit 1 -fi - -WORK_DIR="/usr/local/datax" -SCRIPT_NAME="run_jobs_inc.sh" -SCRIPT_PATH="$WORK_DIR/$SCRIPT_NAME" - -export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -[ -f /etc/profile ] && . /etc/profile -[ -f ~/.bash_profile ] && . ~/.bash_profile -[ -f ~/.profile ] && . ~/.profile - -echo "正在检查定时任务..." -# 精确匹配包含脚本路径和参数的行 -EXISTING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH $TARGET") - -if [ -z "$EXISTING_JOB" ]; then - echo "提示: 未发现 $TARGET 增量任务,无需停止。" - exit 0 -fi - -BACKUP_FILE="/tmp/crontab_backup_$(date +%Y%m%d_%H%M%S).txt" -crontab -l > "$BACKUP_FILE" 2>/dev/null -# 删除特定任务 -crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH $TARGET" | crontab - - -REMAINING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH $TARGET") -if [ -z "$REMAINING_JOB" ]; then - echo "✅ $TARGET 增量定时任务已停止" - crontab -l -else - echo "❌ 停止失败,请手动执行: crontab -e" - exit 1 -fi diff --git a/DataX/tool/LoadCsvToMysql.py b/DataX/tool/LoadCsvToMysql.py deleted file mode 100644 index b68e8ad..0000000 --- a/DataX/tool/LoadCsvToMysql.py +++ /dev/null @@ -1,169 +0,0 @@ -import pymysql -import sys -import os -import glob -import json -import time -from urllib.parse import urlparse, parse_qs - -def parse_jdbc_url(url): - # jdbc:mysql://host:port/db?params - # remove jdbc:mysql:// - if url.startswith("jdbc:mysql://"): - url = url[13:] - - # split host:port and db - if "/" in url: - address, remainder = url.split("/", 1) - if "?" in remainder: - db, params = remainder.split("?", 1) - else: - db = remainder - params = "" - else: - address = url - db = "" - params = "" - - if ":" in address: - host, port = address.split(":") - port = int(port) - else: - host = address - port = 3306 - - return host, port, db - -def load_csv(jdbc_url, user, password, table, csv_dir, columns=None): - host, port, db = parse_jdbc_url(jdbc_url) - - print(f"Connecting to MySQL {host}:{port}/{db} as {user}...") - - try: - conn = pymysql.connect( - host=host, - port=port, - user=user, - password=password, - database=db, - local_infile=True, - charset='utf8mb4', - cursorclass=pymysql.cursors.DictCursor - ) - except Exception as e: - print(f"Connection failed: {e}") - sys.exit(1) - - try: - with conn.cursor() as cursor: - # Optimization settings - print("Setting session parameters for speed...") - cursor.execute("SET NAMES utf8mb4") - - # 逐个尝试设置优化参数,避免因单个参数(如 SQL_LOG_BIN)权限不足导致整体失败 - opts = [ - ("SET FOREIGN_KEY_CHECKS = 0", "Foreign Key Checks Disabled"), - ("SET UNIQUE_CHECKS = 0", "Unique Checks Disabled"), - ("SET SQL_LOG_BIN = 0", "Binary Logging Disabled (Requires SUPER privilege)") - ] - - for sql, desc in opts: - try: - cursor.execute(sql) - print(f" - {desc}: Success") - except Exception as e: - # 如果是权限问题 (1227),打印更友好的信息 - if "1227" in str(e): - print(f" - {desc}: Skipped (Insufficient privileges, but that's okay)") - else: - print(f" - {desc}: Failed ({e})") - - # Truncate table - print(f"Truncating table {table}...") - cursor.execute(f"TRUNCATE TABLE `{table}`") - - # Find files - files = glob.glob(os.path.join(csv_dir, "*")) - if not files: - print(f"No files found in {csv_dir}") - return - - total_rows = 0 - start_time = time.time() - - for file_path in files: - file_path = os.path.abspath(file_path).replace('\\', '/') - print(f"Loading file: {file_path}") - - # Build SQL - # Assuming DataX txtfilewriter defaults: - # separator: , - # quoteChar: " - # escapeChar: \ - # nullFormat: \N - - col_sql = "" - if columns: - col_list = [f"`{c}`" for c in columns] - col_sql = "(" + ", ".join(col_list) + ")" - - sql = f""" - LOAD DATA LOCAL INFILE '{file_path}' - INTO TABLE `{table}` - CHARACTER SET utf8mb4 - FIELDS TERMINATED BY ',' - OPTIONALLY ENCLOSED BY '"' - ESCAPED BY '\\\\' - LINES TERMINATED BY '\\n' - {col_sql} - """ - - cursor.execute(sql) - rows = cursor.rowcount - total_rows += rows - print(f" -> Loaded {rows} rows") - - # 显示 MySQL 警告(SHOW WARNINGS)的功能,用于排查导入差异 - try: - cursor.execute("SHOW WARNINGS") - warnings = cursor.fetchall() - if warnings: - print(f" - MySQL Warnings ({len(warnings)}):") - # 最多显示前 5 条警告,避免日志过多 - for i, warn in enumerate(warnings[:5]): - print(f" - {warn.get('Level', 'Warning')}: {warn.get('Message', 'Unknown error')}") - if len(warnings) > 5: - print(f" - ... and {len(warnings) - 5} more warnings") - except Exception as warn_e: - print(f" - Could not fetch warnings: {warn_e}") - - conn.commit() - - duration = time.time() - start_time - print(f"Total loaded: {total_rows} rows in {duration:.2f}s ({total_rows/duration if duration > 0 else 0:.2f} rows/s)") - - except Exception as e: - print(f"Error during load: {e}") - sys.exit(1) - finally: - conn.close() - -if __name__ == "__main__": - if len(sys.argv) < 6: - print("Usage: python LoadCsvToMysql.py [columns_json]") - sys.exit(1) - - jdbc_url = sys.argv[1] - user = sys.argv[2] - password = sys.argv[3] - table = sys.argv[4] - csv_dir = sys.argv[5] - - columns = None - if len(sys.argv) > 6: - try: - columns = json.loads(sys.argv[6]) - except: - print("Warning: Could not parse columns JSON") - - load_csv(jdbc_url, user, password, table, csv_dir, columns) diff --git a/DataX/说明.md b/DataX/说明.md deleted file mode 100644 index cd2e223..0000000 --- a/DataX/说明.md +++ /dev/null @@ -1,139 +0,0 @@ -# DataX 同步部署与使用说明 - -#### 一、下载与安装 DataX - -1. **下载 DataX 包** - 官方下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz - -2. **部署到服务器** - 将压缩包上传并解压到 `/usr/local/` 目录: - ```shell - cd /usr/local - tar zxvf datax.tar.gz - # 解压后应当存在 /usr/local/datax 目录 - ``` - -#### 二、配置部署 - -本方案通过一套脚本支持 **Doris** 和 **MySQL** 的同步,并统一了 JSON 配置目录。 - -1. **环境准备 (重要)** - 高性能同步工具依赖 Python 的 MySQL 驱动,请先在服务器执行以下命令安装: - ```shell - # Rocky Linux / CentOS 9 - yum install -y python3-PyMySQL - - # 验证安装 (返回“成功”即表示OK) - python3 -c "import pymysql; print('成功')" - ``` - -2. **上传文件** - 请将本地 `d:\dsWork\aiData\DataX\` 目录下的以下内容上传至服务器 `/usr/local/datax/` 根目录下: - - * 文件夹 `json/` (存放统一的 JSON 模板) - * 文件夹 `tool/` (存放高性能导入工具) - * 脚本 `run_jobs_full.sh` (全量执行脚本) - * 脚本 `run_jobs_inc.sh` (增量执行脚本) - * 脚本 `start_cron_inc.sh`(启动定时任务) - * 脚本 `stop_cron_inc.sh` (停止定时任务) - - **上传后的服务器目录结构应如下所示:** - ```text - /usr/local/datax/ - ├── bin/ - ├── conf/ - ├── json/ <-- 统一配置目录 (包含全量/增量通用模板) - ├── tool/ <-- 导入工具目录 (包含 LoadCsvToMysql.py) - ├── run_jobs_full.sh <-- 全量同步脚本 (支持 doris/mysql) - ├── run_jobs_inc.sh <-- 增量同步脚本 (支持 doris/mysql) - ├── start_cron_inc.sh<-- 启动增量定时任务 - └── stop_cron_inc.sh <-- 停止增量定时任务 - ``` - -2. **赋予执行权限** - ```shell - cd /usr/local/datax - chmod +x *.sh - ``` - -#### 三、运行策略说明 - -脚本现在支持通过参数指定同步目标:`doris` 或 `mysql`。 - -**1. 全量同步 (Full Sync)** -* **适用场景**:系统初始化,或数据需要彻底重刷。 -* **同步逻辑**: - 1. **Doris**: 使用 `TRUNCATE` 清空目标表,通过 Stream Load 写入。 - 2. **MySQL**: 自动切换为 **CSV Load 模式**(高性能),通过生成 CSV 并执行 `LOAD DATA LOCAL INFILE` 实现秒级同步。 -* **执行命令**: - ```shell - ./run_jobs_full.sh doris # 同步到 Doris - ./run_jobs_full.sh mysql # 同步到 MySQL - ``` - -**2. 增量同步 (Incremental Sync)** -* **适用场景**:日常实时数据同步。 -* **同步逻辑**: - 1. **动态 SQL**: 自动解析模板并生成 `ORDER BY id DESC LIMIT 1000` 查询。 - 2. **Upsert**: 利用目标库主键模型自动完成“存在即更新,不存在即插入”。 -* **执行命令**: - ```shell - ./run_jobs_inc.sh doris # 同步到 Doris - ./run_jobs_inc.sh mysql # 同步到 MySQL - ``` - -#### 四、自动化定时任务配置 - -增量同步已优化为 **高频实时同步**。 - -1. **启动定时任务** - ```shell - ./start_cron_inc.sh doris # 启动同步到 Doris 的任务 - ./start_cron_inc.sh mysql # 启动同步到 MySQL 的任务 - ``` - * **执行频率**: 每 **5 秒** 执行一次。 - * **单次数据量**: 每次同步最新的 **1000 条**。 - -2. **停止定时任务** - ```shell - ./stop_cron_inc.sh doris - ./stop_cron_inc.sh mysql - ``` - -3. **验证与日志** - * **查看任务**:`crontab -l` - * **查看日志**:日志保存在 `logs/` 目录下。 - ```shell - tail -f logs/datax_inc_mysql_cron.log - ``` - -#### 五、重要性能说明与测试报告 - -本方案针对 MySQL 到 MySQL/Doris 的同步进行了深度榨干级的性能优化,实测效果惊人。 - -**1. 性能实测报告 (2026-02-06 百万级数据实测)** -* **同步数据量**: **278 万条** (2.78 Million Records)。 -* **同步速率**: 稳定在 **11,500 ~ 12,000 条/秒**。 -* **吞吐量**: 稳定在 **6.5 ~ 6.8 MB/s**。 -* **内存表现**: - * **Eden Space**: 占用约 650MB (50%),内存分配非常充裕。 - * **GC 效率**: G1 回收器表现极佳,72次 Young GC 总耗时仅 **0.597秒**(平均每次仅 **8ms**),对同步性能零干扰。 -* **稳定性**: 全程 0 错误,`WaitWriterTime` 极低 (0.7s),写入端完全无压力。 - -**2. 核心技术优化揭秘** -* **消除 SSL 握手开销**: - * 在 JDBC 连接中强制指定 `useSSL=false`。 - * **效果**: 既消除了日志中的安全警告,也减少了每次连接建立时的加密握手时间,在高频同步场景下提升显著。 -* **Reader 侧吞吐量暴增**: - * **高并发**: 将 `channel` 提升至 **8**,并行抽取能力翻倍。 - * **大缓存**: 将 `fetchSize` 提升至 **10,000**。这是解决 `WaitReaderTime` 的核心,极大减少了 DataX 与源数据库之间的交互次数。 -* **CSV Load 模式 (全量核心)**: - * 通过 Python 脚本自动将 DataX 转换为 `txtfilewriter` 生成 CSV。 - * 利用 MySQL 官方最快的 `LOAD DATA LOCAL INFILE` 导入,比传统 JDBC `INSERT` 快 **30倍** 以上。 -* **JDBC Batch 优化 (增量/JDBC 模式)**: - * 启用了 `rewriteBatchedStatements=true`,将多条 `REPLACE` 语句合并为单条执行,大幅降低网络往返。 - -**3. 最终优化参数清单** -* **Reader**: `channel=8`, `fetchSize=10000`, `useSSL=false`。 -* **Writer**: `batchSize=2048`, `rewriteBatchedStatements=true`, `LOAD DATA` (全量)。 -* **JVM**: `-server -Xms2g -Xmx2g -XX:+UseG1GC -XX:MaxMetaspaceSize=256m`。 diff --git a/DouYin/Test/T1_GetCookie.py b/DouYin/Test/T1_GetCookie.py new file mode 100644 index 0000000..b4727e9 --- /dev/null +++ b/DouYin/Test/T1_GetCookie.py @@ -0,0 +1,176 @@ +""" +Douyin Cookie Fetcher (T1) +用途: 模拟打开浏览器,用户扫码登录后自动获取 Cookie 并保存到 config_douyin.yml +""" + +import sys +import os +import json +import yaml +import asyncio +import io +from pathlib import Path + +# 强制设置控制台输出编码为 UTF-8,解决 Windows 环境下的乱码问题 +if sys.platform.startswith('win'): + sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') + sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') + +# ================================================================= +# 1. 环境配置与路径初始化 +# ================================================================= +current_file_path = os.path.abspath(__file__) +current_dir = os.path.dirname(current_file_path) +config_path = os.path.join(current_dir, "config_douyin.yml") + +# ================================================================= +# 2. Cookie 过滤与更新逻辑 +# ================================================================= + +# 我们关注的核心 Cookie 键名 +# 进一步扩大范围以包含所有可能的校验 Cookie +REQUIRED_KEYS = { + "msToken", "ttwid", "odin_tt", "passport_csrf_token", "sid_guard", + "sessionid", "sid_tt", "uid_tt", "uid_tt_ss", "sid_ucp_v1", + "ssid_ucp_v1", "n_sdk_version", "s_v_web_id", "webid", + "__ac_nonce", "__ac_signature", "fp", "device_web_cpu_core", + "device_web_memory_size", "architecture", "hevc_supported" +} + +def update_config_yaml(new_cookies): + """将获取到的 Cookie 更新到 config_douyin.yml""" + config_data = {} + + # 1. 读取现有配置 + if os.path.exists(config_path): + try: + with open(config_path, 'r', encoding='utf-8') as f: + config_data = yaml.safe_load(f) or {} + except Exception as e: + print(f"[ Warning ]: Failed to read existing config: {e}") + + # 2. 更新 cookies 字段 + if "cookies" not in config_data: + config_data["cookies"] = {} + + # 过滤出我们需要的键 + filtered_cookies = {k: v for k, v in new_cookies.items() if k in REQUIRED_KEYS} + config_data["cookies"].update(filtered_cookies) + + # 同时更新全局 cookie 字符串 - 包含所有捕获到的 cookie 以确保完整性 + cookie_str = "; ".join(f"{k}={v}" for k, v in new_cookies.items()) + config_data["cookie"] = cookie_str + + # 3. 写回文件 + try: + with open(config_path, 'w', encoding='utf-8') as f: + yaml.dump(config_data, f, allow_unicode=True, default_flow_style=False, sort_keys=False) + print(f"\n[ Success ]: Cookie updated to: {config_path}") + print(f"[ Info ]: Captured {len(new_cookies)} total cookies, {len(filtered_cookies)} essential keys saved.") + except Exception as e: + print(f"[ Error ]: Failed to write config: {e}") + +# ================================================================= +# 3. Playwright 自动化逻辑 +# ================================================================= + +async def main(): + try: + from playwright.async_api import async_playwright + except ImportError: + print("[ Error ]: Playwright not installed. Run: pip install playwright && playwright install chromium") + return + + print("\n" + "="*60) + print(" Douyin Login & Cookie Fetcher") + print("="*60) + print("[ Instructions ]:") + print("1. Browser will open and navigate to Douyin.") + print("2. Please login via QR code scanning.") + print("3. After login, return here and press [ENTER] to save cookies.") + print("="*60 + "\n") + + async with async_playwright() as p: + # 启动浏览器 + browser = await p.chromium.launch(headless=False) + context = await browser.new_context( + viewport={'width': 1280, 'height': 800}, + user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' + ) + page = await context.new_page() + + # 跳转到抖音 + # 优化: 使用 'domcontentloaded' 提高在弱网环境下的加载成功率,并增加超时到 90s + print("[ Navigating ]: https://www.douyin.com/ ...") + try: + await page.goto("https://www.douyin.com/", wait_until="domcontentloaded", timeout=90000) + except Exception as e: + print(f"[ Warning ]: Initial navigation timed out or failed: {e}") + print("[ Info ]: Will continue anyway, please check if the page is visible.") + + # ================================================================= + # 自动检测登录 + 手动回车双重保险 + # ================================================================= + print("\n" + "-"*40) + print("[ Waiting ]: Please complete the QR login in the browser.") + print("[ Auto-Detect ]: The script will automatically proceed if login is detected.") + print("[ Manual ]: If auto-detect fails, type 'go' and press [ENTER] here.") + print("-"*40 + "\n") + + # 尝试自动检测登录成功的元素(比如头像或“发布视频”按钮) + login_detected = False + for _ in range(120): # 最多等待 120 秒 + try: + # 检查是否存在登录后的特有元素 + # .dy-avatar 是头像,.upload-video-text 是发布视频按钮 + if await page.query_selector('.dy-avatar') or await page.query_selector('text=发布视频'): + print("[ Success ]: Login detected automatically!") + login_detected = True + break + except: + pass + await asyncio.sleep(1) + + if not login_detected: + # 如果自动检测没成功,再尝试手动输入 + print("[ Timeout ]: Auto-detection timed out. Please ensure you are logged in.") + print("[ Action ]: Type anything and press [ENTER] to force capture cookies:") + await asyncio.to_thread(sys.stdin.readline) + + # 获取所有 Cookie + all_cookies = await context.cookies() + cookie_dict = {c['name']: c['value'] for c in all_cookies} + + # 尝试捕获动态参数 msToken (如果存在于页面中) + try: + # 1. 尝试从 localStorage 获取 + ms_token = await page.evaluate("() => window.localStorage.getItem('msToken') || ''") + + # 2. 如果没获取到,尝试从所有 Cookie 中找最新的 msToken + if not ms_token: + ms_token = cookie_dict.get('msToken', '') + + # 3. 尝试从页面全局变量中寻找 + if not ms_token: + ms_token = await page.evaluate("() => window._ROUTER_DATA?.msToken || ''") + + if ms_token: + cookie_dict['msToken'] = ms_token + print(f"[ Info ]: Captured msToken: {ms_token[:20]}...") + else: + print("[ Warning ]: msToken not found in common locations.") + except Exception as e: + print(f"[ Debug ]: Error capturing msToken: {e}") + + # 关闭浏览器 + await context.close() + await browser.close() + + # 更新配置文件 + if cookie_dict: + update_config_yaml(cookie_dict) + else: + print("[ Failed ]: No cookies captured. Did you login successfully?") + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/DouYin/Test/T2_BigV.py b/DouYin/Test/T2_BigV.py new file mode 100644 index 0000000..b6ae378 --- /dev/null +++ b/DouYin/Test/T2_BigV.py @@ -0,0 +1,203 @@ +""" +Douyin User Profile & Video Crawler (T2) +访问注释中的页面,获取页面中的内容信息(用户信息及最近作品) + +URL: https://www.douyin.com/user/MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO +""" + +import sys +import os +import re +import json +import yaml +import time +import io +from datetime import datetime + +# 强制设置控制台输出编码为 UTF-8,解决 Windows 环境下的乱码问题 +if sys.platform.startswith('win'): + sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') + sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') + +# ================================================================= +# 1. 环境配置与路径初始化 +# ================================================================= +current_file_path = os.path.abspath(__file__) +current_dir = os.path.dirname(current_file_path) +douyin_root = os.path.dirname(current_dir) + +# 将 DouYin 根目录添加到 sys.path +if douyin_root not in sys.path: + sys.path.append(douyin_root) + +# 尝试导入核心爬虫模块 +try: + from apiproxy.douyin.douyin import Douyin + from apiproxy.douyin import douyin_headers +except ImportError as e: + print(f"[ Error ]: Failed to import core modules. Error: {e}") + sys.exit(1) + +# ================================================================= +# 2. 工具函数定义 +# ================================================================= + +def extract_url_from_file(file_path): + """从文件头部的注释中提取抖音用户 URL""" + try: + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + urls = re.findall(r'https?://(?:www\.)?douyin\.com/user/[a-zA-Z0-9\-_]+', content) + return urls[0] if urls else None + except Exception as e: + print(f"[ Error ]: Failed to read script file: {e}") + return None + +def load_config(): + """从 Test 目录或项目根目录加载 config_douyin.yml 配置""" + # 优先检查当前 Test 目录 + test_config_path = os.path.join(current_dir, "config_douyin.yml") + # 其次检查 DouYin 根目录 + root_config_path = os.path.join(douyin_root, "config_douyin.yml") + + config_path = test_config_path if os.path.exists(test_config_path) else root_config_path + + if os.path.exists(config_path): + try: + with open(config_path, 'r', encoding='utf-8') as f: + print(f"[ Info ]: Loading config from: {os.path.abspath(config_path)}") + return yaml.safe_load(f) + except Exception as e: + print(f"[ Warning ]: Failed to parse config: {e}") + else: + print(f"[ Warning ]: config_douyin.yml not found.") + return {} + +def setup_cookies(config): + """设置 Douyin 请求所需的 Cookie""" + # 优先使用完整的全局 cookie 字符串 + cookie_str = config.get("cookie", "") + cookies_dict = config.get("cookies", {}) + + if cookie_str: + # 如果有 raw cookie,确保 msToken 也被包含进去(如果 dict 中有的话) + if cookies_dict.get("msToken") and "msToken=" not in cookie_str: + cookie_str = f"msToken={cookies_dict['msToken']}; " + cookie_str + douyin_headers["Cookie"] = cookie_str + print(f"[ Info ]: Using raw cookie string (Length: {len(cookie_str)})") + elif cookies_dict: + cookie_str = "; ".join(f"{k}={v}" for k, v in cookies_dict.items()) + douyin_headers["Cookie"] = cookie_str + print(f"[ Info ]: Using combined cookies from dict (Count: {len(cookies_dict)})") + + if not douyin_headers.get("Cookie"): + print("[ Warning ]: No valid Cookie detected. Most API calls will fail.") + print(" Please run T1_GetCookie.py first.") + +# ================================================================= +# 3. 核心爬取逻辑 +# ================================================================= + +def crawl_user_profile(url): + """获取用户信息及其最近的作品列表""" + dy = Douyin() + # 增加接口重试的超时时间 + dy.timeout = 30 + + print(f"[ Start ]: Target URL: {url}") + + # 步骤 1: 解析 URL 获取 sec_uid + print("[ Step 1/2 ]: Fetching blogger profile...") + try: + # 使用 getKey 获取 sec_uid + key_type, sec_uid = dy.getKey(url) + if key_type != "user" or not sec_uid: + print(f"[ Failed ]: Invalid URL or failed to parse sec_uid. Type: {key_type}") + return + + print(f" (sec_uid: {sec_uid[:15]}...)") + + # 获取详细信息 + # 现在核心类 Douyin 已更新,会自动从 Cookie 中提取并拼接 msToken + print(f"[ Step 1/2 ]: Fetching blogger profile...") + user_detail = dy.getUserDetailInfo(sec_uid) + + if not user_detail or user_detail.get("status_code") != 0: + print(f"[ Failed ]: Failed to fetch profile. Status: {user_detail.get('status_code') if user_detail else 'None'}") + if user_detail: + print(f" Msg: {user_detail.get('status_msg', 'Unknown error')}") + print(" Hint: Please check if Cookie is expired or network is restricted.") + return + except Exception as e: + print(f"[ Error ]: An unexpected error occurred: {e}") + return + + user_data = user_detail.get("user", {}) + nickname = user_data.get('nickname', 'Unknown') + + # 打印博主信息 + print("\n" + "="*60) + print(f"Blogger: {nickname}") + print("-" * 60) + print(f"ID: {user_data.get('unique_id') or user_data.get('short_id', 'Unknown')}") + print(f"Bio: {user_data.get('signature', 'N/A')}") + print(f"Followers:{user_data.get('m_follower_count') or user_data.get('follower_count', 0)}") + print(f"Likes: {user_data.get('total_favorited', 0)}") + print(f"Following:{user_data.get('following_count', 0)}") + print("="*60 + "\n") + + # 步骤 3: 获取最近的作品列表 + print(f"[ Step 2/2 ]: Fetching recent works...") + aweme_list = dy.getUserInfo(sec_uid, count=10) + + result_data = { + "user_info": user_data, + "recent_videos": aweme_list or [], + "crawl_time": datetime.now().strftime('%Y-%m-%d %H:%M:%S') + } + + if aweme_list: + print(f"Successfully fetched {len(aweme_list)} videos:\n") + for i, aweme in enumerate(aweme_list, 1): + ctime = aweme.get('create_time') + if isinstance(ctime, (int, float)): + ctime_str = datetime.fromtimestamp(ctime).strftime('%Y-%m-%d %H:%M') + else: + ctime_str = str(ctime) + + desc = aweme.get('desc', 'No Title') + desc = (desc[:47] + "...") if len(desc) > 50 else desc + + stats = aweme.get('statistics', {}) + print(f"{i:02d}. [{ctime_str}] {desc}") + print(f" ❤️ {stats.get('digg_count', 0):<8} 💬 {stats.get('comment_count', 0):<8} ⭐ {stats.get('collect_count', 0)}") + print(f" 🔗 https://www.douyin.com/video/{aweme.get('aweme_id')}\n") + else: + print("[ Info ]: No public videos found. Account might be private or API limited.") + + # 步骤 4: 保存数据 + output_file = os.path.join(current_dir, f"user_data_{sec_uid[:8]}.json") + try: + with open(output_file, 'w', encoding='utf-8') as f: + json.dump(result_data, f, ensure_ascii=False, indent=4) + print(f"[ Success ]: Data saved to: {os.path.basename(output_file)}") + except Exception as e: + print(f"[ Warning ]: Failed to save data: {e}") + +# ================================================================= +# 4. 主入口 +# ================================================================= + +if __name__ == "__main__": + # 提取 URL + target_url = extract_url_from_file(current_file_path) + + if target_url: + # 配置环境 + config = load_config() + setup_cookies(config) + + # 执行爬取 + crawl_user_profile(target_url) + else: + print("[ Error ]: No valid Douyin URL found in file comments.") diff --git a/DouYin/Test/config_douyin.yml b/DouYin/Test/config_douyin.yml new file mode 100644 index 0000000..9775f9b --- /dev/null +++ b/DouYin/Test/config_douyin.yml @@ -0,0 +1,16 @@ +cookie: __ac_nonce=069a13bcc00cacbb09800; __ac_signature=_02B4Z6wo00f01EiD5NQAAIDB-WNazgGqWRxIo8BAAHuJ33; + ttwid=1%7CxZrCypV7044-lvm6_oK7nlsTEtEn-H_yJXdZRYjRQg0%7C1772174285%7C38825b7026cf7c8724e4070f81748a477168eb58988b8e09b67142bc6441a676; + enter_pc_once=1; UIFID_TEMP=630dc87f7218843564944b22829d362b9fabe9a9e3376a5c74988083749b66dffd3737bb90e0acf82e6707c6ee24f7522fbefdc12d5a2fed2eae91b09db43c67688ba5ad520d1d6f6b294f7ef3c3442efbc0a4ff34b6c60edb3ff06d5e120b4a2376474bd59208bc08755ec54934cb80; + x-web-secsdk-uid=9d7866f1-5873-4d35-8b7d-7d0117b45b3f; s_v_web_id=verify_mm4ital2_ERFXSBBL_FxRH_4tEN_A3jj_V3VIL6WSh4u6; + =douyin.com; device_web_cpu_core=20; device_web_memory_size=8; architecture=amd64; + hevc_supported=true; IsDouyinActive=true; home_can_add_dy_2_desktop=%220%22; dy_swidth=1280; + dy_sheight=800; stream_recommend_feed_params=%22%7B%5C%22cookie_enabled%5C%22%3Atrue%2C%5C%22screen_width%5C%22%3A1280%2C%5C%22screen_height%5C%22%3A800%2C%5C%22browser_online%5C%22%3Atrue%2C%5C%22cpu_core_num%5C%22%3A20%2C%5C%22device_memory%5C%22%3A8%2C%5C%22downlink%5C%22%3A10%2C%5C%22effective_type%5C%22%3A%5C%224g%5C%22%2C%5C%22round_trip_time%5C%22%3A0%7D%22 +cookies: + msToken: my7nuKyrpTVEWOX-n62wR8I5EcvoMKBmvsBMnODLOtG3sn6AsR7q_jEM5jmEenyuwmHpsL25b84VhGcR4nUgv0PepA2zrSUOGHCmZVzpauYpRgbR9svMKjt2-AgNRz + ttwid: 1%7CxZrCypV7044-lvm6_oK7nlsTEtEn-H_yJXdZRYjRQg0%7C1772174285%7C38825b7026cf7c8724e4070f81748a477168eb58988b8e09b67142bc6441a676 + s_v_web_id: verify_mm4ital2_ERFXSBBL_FxRH_4tEN_A3jj_V3VIL6WSh4u6 + odin_tt: 6f33402fa0952cdea7eaa5226bfe0a2a45ee10bbb138835da6a5383e9eef092f7ad0a1790c0271a090f72c8112875fef3665d50460b79ec302ba56c2b91f52b3bcab4b209cce3f4b7378f995b01a5cce +path: ./Downloaded/ +thread: 5 +number: + post: 10 diff --git a/DouYin/Test/user_data_MS4wLjAB.json b/DouYin/Test/user_data_MS4wLjAB.json new file mode 100644 index 0000000..8c8839a --- /dev/null +++ b/DouYin/Test/user_data_MS4wLjAB.json @@ -0,0 +1,1935 @@ +{ + "user_info": { + "account_cert_info": "{}", + "apple_account": 0, + "avatar_168x168": { + "height": 720, + "uri": "aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/img/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531~c5_168x168.jpeg?from=2956013662" + ], + "width": 720 + }, + "avatar_300x300": { + "height": 720, + "uri": "aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/img/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531~c5_300x300.jpeg?from=2956013662" + ], + "width": 720 + }, + "avatar_larger": { + "height": 720, + "uri": "aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=2956013662" + ], + "width": 720 + }, + "avatar_medium": { + "height": 720, + "uri": "aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=2956013662" + ], + "width": 720 + }, + "avatar_thumb": { + "height": 720, + "uri": "aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=2956013662" + ], + "width": 720 + }, + "aweme_count": 620, + "aweme_count_correction_threshold": -1, + "birthday_hide_level": 1, + "can_set_item_cover": false, + "can_show_group_card": 1, + "city": "", + "close_friend_type": 0, + "commerce_info": { + "challenge_list": null, + "head_image_list": null, + "offline_info_list": [], + "smart_phone_list": null, + "task_list": null + }, + "commerce_user_info": { + "ad_revenue_rits": null, + "has_ads_entry": true + }, + "commerce_user_level": 0, + "country": "", + "cover_and_head_image_info": { + "cover_list": null, + "profile_cover_list": [ + { + "cover_url": { + "uri": "douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732?lk3s=93de098e&x-expires=1772344800&x-signature=E0CiSJMvJan0ASYWWd7Eyau6ZF8%3D&from=2480802190", + "https://p9-pc-sign.douyinpic.com/obj/douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732?lk3s=93de098e&x-expires=1772344800&x-signature=LZ3yIW5FEgbvkQY9hSf0cqcpgwI%3D&from=2480802190" + ] + }, + "dark_cover_color": "#FF825a16", + "light_cover_color": "#FF825a16" + } + ] + }, + "cover_colour": "#03997706", + "cover_url": [ + { + "uri": "douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732?lk3s=93de098e&x-expires=1772344800&x-signature=E0CiSJMvJan0ASYWWd7Eyau6ZF8%3D&from=2480802190", + "https://p9-pc-sign.douyinpic.com/obj/douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732?lk3s=93de098e&x-expires=1772344800&x-signature=LZ3yIW5FEgbvkQY9hSf0cqcpgwI%3D&from=2480802190" + ] + }, + { + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=93de098e&x-expires=1772344800&x-signature=CPwcgKRhVlrXRkPLxKUm3zzJDyE%3D&from=2480802190", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=93de098e&x-expires=1772344800&x-signature=JxAyCD2ZLl%2F%2B5%2BOlS7u0SrxSiFU%3D&from=2480802190" + ] + } + ], + "custom_verify": "", + "district": "", + "dongtai_count": 0, + "dynamic_cover": {}, + "elfemoji_status": -1, + "enable_ai_double": 0, + "enable_wish": false, + "enterprise_user_info": "{\"commerce_info\":{\"offline_info_list\":[],\"challenge_list\":null,\"task_list\":null,\"head_image_list\":null,\"smart_phone_list\":null},\"homepage_bottom_toast\":null,\"tab_ceiling_toast\":null,\"limiters\":null,\"attic_info\":null,\"profile_edit_button\":null,\"elite_center\":null,\"enterprise_card_visibility\":false,\"blue_label_edit_jump_url\":\"aweme://webview/?url=https%3A%2F%2Fapi.amemv.com%2Finsights%2Flite%2FcontactSetting%3Fhide_nav_bar%3D1%26title%3D%25E8%2581%2594%25E7%25B3%25BB%25E6%2596%25B9%25E5%25BC%258F%26enter_from%3Dcustomized_tab\\u0026hide_nav_bar=1\\u0026title=%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F\\u0026rn_schema=aweme%3A%2F%2Freactnative%2F%3Fchannel_name%3Drn_patch%26bundle_name%3Dbusiness%26module_name%3Dpage_e_lite_contactSetting%26force_h5%3D1%26hide_nav_bar%3D1%26bundle_url%3D%26title%3D%25E8%2581%2594%25E7%25B3%25BB%25E6%2596%25B9%25E5%25BC%258F%26enter_from%3Dcustomized_tab\"}", + "enterprise_verify_reason": "", + "evaluation_count": 0, + "familiar_confidence": 0, + "favorite_permission": 1, + "favoriting_count": 659, + "follow_guide": true, + "follow_status": 0, + "follower_count": 20156, + "follower_request_status": 0, + "follower_status": 0, + "following_count": 4, + "forward_count": 0, + "gender": null, + "general_permission": { + "fans_page_toast": 0, + "following_follower_list_toast": 1, + "is_hit_active_fans_grayed": false + }, + "has_e_account_role": false, + "has_subscription": false, + "hide_request_update": 0, + "im_primary_role_id": 8, + "im_role_ids": [ + 8, + 19 + ], + "image_send_exempt": false, + "ins_id": "", + "ip_location": "IP属地:湖南", + "is_activity_user": false, + "is_ban": false, + "is_block": false, + "is_blocked": false, + "is_effect_artist": false, + "is_gov_media_vip": false, + "is_im_oversea_user": 0, + "is_mix_user": true, + "is_not_show": false, + "is_series_user": false, + "is_sharing_profile_user": 0, + "is_star": false, + "life_story_block": { + "life_story_block": false + }, + "live_commerce": false, + "live_status": 0, + "mate_add_permission": 1, + "mate_relation": { + "mate_apply_forward": 0, + "mate_apply_reverse": 0, + "mate_status": 0 + }, + "max_follower_count": 20162, + "message_chat_entry": true, + "mix_count": 0, + "mplatform_followers_count": 20156, + "nickname": "大公鸡影视", + "original_musician": { + "digg_count": 0, + "music_count": 0, + "music_used_count": 0 + }, + "pigeon_daren_status": "", + "pigeon_daren_warn_tag": "", + "profile_component_disabled": [ + "banner_vs" + ], + "profile_mob_params": [ + { + "event_key": "enter_personal_tab", + "mob_params": "{\"landing_reason\":\"Landing_Default_Post\"}" + } + ], + "profile_show": { + "identify_auth_infos": null + }, + "profile_tab_info": { + "profile_landing_tab": 0, + "profile_tab_list": null, + "profile_tab_list_v2": null + }, + "profile_tab_type": 0, + "province": "", + "public_collects_count": 0, + "publish_landing_tab": 3, + "r_fans_group_info": {}, + "recommend_reason_relation": "", + "recommend_user_reason_source": 0, + "risk_notice_text": "", + "room_id": 0, + "room_id_str": "0", + "school_name": null, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": 0, + "series_count": 0, + "share_info": { + "bool_persist": 1, + "life_share_ext": "{\"life_share_id\":\"b3adae5aad064c53b8f4f134210c7b8b\"}", + "share_desc": "长按复制此条消息,打开抖音搜索,查看TA的更多作品。", + "share_image_url": { + "uri": "tos-cn-p-0015c000-ce/ogMfg480C3daTWeBsX3DAXQMQQgJ1gOg79eugc", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-p-0015c000-ce/ogMfg480C3daTWeBsX3DAXQMQQgJ1gOg79eugc?lk3s=93de098e&x-expires=1772344800&x-signature=Cb2Kf4%2FmgPbDLfdoDpi98TU0r7Q%3D&from=2480802190", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-p-0015c000-ce/ogMfg480C3daTWeBsX3DAXQMQQgJ1gOg79eugc?lk3s=93de098e&x-expires=1772344800&x-signature=e8iBvQm1J4A15Hoz7Mar3sAeC0A%3D&from=2480802190" + ] + }, + "share_qrcode_url": { + "uri": "", + "url_list": [] + }, + "share_title": "快来加入抖音,让你发现最有趣的我!", + "share_url": "www.iesdouyin.com/share/user/MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO?from_aid=6383&did=MS4wLjABAAAAXvP3pwjk-v7EDpqhipvd8BsX9JK_D7GJBsAMrEinEhnc3-HMlTjNiBfvbEhlr6IT&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&sec_uid=MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO&from_ssr=1", + "share_weibo_desc": "长按复制此条消息,打开抖音搜索,查看TA的更多作品。" + }, + "short_id": "0", + "show_favorite_list": false, + "show_subscription": false, + "signature": "🎬每日更新经典电影~敬请期待\n🎬如有缺集就是审核没通过\n🎬无解说 原声原片 点点关注别迷路啦", + "signature_display_lines": 0, + "signature_language": "un", + "social_real_relation_type": 0, + "special_follow_status": 0, + "store_region": "cn-hn", + "story_tab_empty": false, + "sync_to_toutiao": 0, + "tab_settings": { + "private_tab": { + "private_tab_style": 1, + "show_private_tab": false + } + }, + "total_favorited": 210381, + "total_favorited_correction_threshold": -1, + "twitter_id": "", + "twitter_name": "", + "uid": "2507329934467886", + "unique_id": "58503599625", + "urge_detail": { + "ctl_map": "{\"dispose_to_moment\":\"0\",\"next_urge_type\":\"default\",\"button_text\":\"求更新\",\"toast\":\"✅作者已收到“求更新”提醒~\",\"button_background_url\":\"https://p11-webcast.douyinpic.com/img/webcast/urge_update.png~tplv-obj.image\",\"urge_type\":\"\"}", + "user_urged": 0 + }, + "user_age": -1, + "user_not_see": 0, + "user_not_show": 1, + "verification_type": 0, + "video_cover": {}, + "video_icon": { + "height": 720, + "uri": "", + "url_list": [], + "width": 720 + }, + "watch_status": false, + "white_cover_url": [ + { + "uri": "douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732?lk3s=93de098e&x-expires=1772344800&x-signature=E0CiSJMvJan0ASYWWd7Eyau6ZF8%3D&from=2480802190", + "https://p9-pc-sign.douyinpic.com/obj/douyin-user-image-file/b86d5ee47ba8afea19448d46ee04e732?lk3s=93de098e&x-expires=1772344800&x-signature=LZ3yIW5FEgbvkQY9hSf0cqcpgwI%3D&from=2480802190" + ] + }, + { + "uri": "318f1000413827e122102", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/318f1000413827e122102?lk3s=93de098e&x-expires=1772344800&x-signature=USWi%2FT6qBBGfG34R7YmL3wU9oIE%3D&from=2480802190", + "https://p9-pc-sign.douyinpic.com/obj/318f1000413827e122102?lk3s=93de098e&x-expires=1772344800&x-signature=vTWzgp%2BlWjGvUqAj1VYC%2F%2FUuhtM%3D&from=2480802190" + ] + } + ], + "with_commerce_enterprise_tab_entry": false, + "with_commerce_entry": false, + "with_fusion_shop_entry": false, + "with_new_goods": false, + "youtube_channel_id": "", + "youtube_channel_title": "" + }, + "recent_videos": [ + { + "create_time": "2026-02-07 12.04.58", + "awemeType": 0, + "aweme_id": "7603969424912412281", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#杨千嬅#吴彦祖#经典港片 #推荐电影", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7603969469488302906.mp3", + "url_key": "7603969379704982278", + "url_list": [ + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7603969469488302906.mp3", + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7603969469488302906.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v1e00fgi0000d63bhbfog65rck586ofg", + "url_list": [ + "https://v26-web.douyinvod.com/3503aec82b49669a7e7d0c7ff4e7f9d6/69a16cc7/video/tos/cn/tos-cn-ve-15c000-ce/osIIHpGAyCrqtw9h2UEASFEEiZDjwhR5yfftUe/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1184&bt=1184&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=OGlpZzo0ZTc5NWc0aWhpN0BpanI7bnU5cmVlOTMzbGkzNEAxYC1eLjZjX2AxNl42MTFeYSNjMzJgMmRjZTBhLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100z_100o_101r_100B_100x&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/58f48f09e43b3c20107ced316001733b/69a16cc7/video/tos/cn/tos-cn-ve-15c000-ce/osIIHpGAyCrqtw9h2UEASFEEiZDjwhR5yfftUe/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1184&bt=1184&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=OGlpZzo0ZTc5NWc0aWhpN0BpanI7bnU5cmVlOTMzbGkzNEAxYC1eLjZjX2AxNl42MTFeYSNjMzJgMmRjZTBhLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=101r_100B_100x_100z_100o&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v1e00fgi0000d63bhbfog65rck586ofg&line=0&file_id=a44f4e9fa19d42c6b4fb9117ad0fcf45&sign=8ca775bf116b91fb83adfd1a34ba4f0d&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE?lk3s=138a59ce&x-expires=1773381600&x-signature=NWiOahmZsO%2FsjSkAprp7ankDN%2Bg%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE?lk3s=138a59ce&x-expires=1773381600&x-signature=tOItl6o9gDQsY%2Fn2yMFsBzOPL2w%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/okUhBZGI78CeNFeeugBX6QiDQAlTotGxFbgJLC", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/okUhBZGI78CeNFeeugBX6QiDQAlTotGxFbgJLC~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=QNE9b5xAKr1PA%2BS5zIaG0LoT4Dk%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/okUhBZGI78CeNFeeugBX6QiDQAlTotGxFbgJLC~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=fdNejYP%2FDvfSfnyN7YH6%2FloDOVM%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=GLh6cOMMCsUVk8GqEe6dcHPKR2w%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE?lk3s=138a59ce&x-expires=2087532000&x-signature=qDmeHjn92%2BDRqID8DLJeoPLaLy0%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogfAcroehEEFNZ6IAQlAiAAi4QnwepGUDA9NEE?lk3s=138a59ce&x-expires=2087532000&x-signature=OSGIxDCFU7lvzpIbmLs%2F4b7adL4%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 1620, + "comment_count": 362, + "digg_count": 16392, + "play_count": 0, + "share_count": 1142 + } + }, + { + "create_time": "2024-08-17 22.06.45", + "awemeType": 0, + "aweme_id": "7404109569867205926", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "卢队长领衔保安天团,星爷登场#周星驰 #回魂夜#粤语经典 #一代人的回忆 #港片", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7404109886885235510.mp3", + "url_key": "7404109623038430006", + "url_list": [ + "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7404109886885235510.mp3", + "https://sf5-hl-ali-cdn-tos.douyinstatic.com/obj/ies-music/7404109886885235510.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v0d00fg10000cr09uffog65mp6e70hq0", + "url_list": [ + "https://v26-web.douyinvod.com/0dcc18b65aac06bf93afd09696bff081/69a16bf2/video/tos/cn/tos-cn-ve-15/oIARJEaeA2mA0YluZBi4BiwA9AvByg8NxIfLwR/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1416&bt=1416&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=ODk8Zjo0M2ZlaTw4ZGRoZUBpM2s6OXA5cmk8dTMzNGkzM0AyMTA1NTZiXjYxNjUxNTY2YSNuLWJtMmRjci1gLS1kLWFzcw%3D%3D&btag=80000e00030000&cquery=100x_100z_100o_101r_100B&dy_q=1772175290&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/a0c63e276a65ae645be0408a8bcdae15/69a16bf2/video/tos/cn/tos-cn-ve-15/oIARJEaeA2mA0YluZBi4BiwA9AvByg8NxIfLwR/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1416&bt=1416&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=ODk8Zjo0M2ZlaTw4ZGRoZUBpM2s6OXA5cmk8dTMzNGkzM0AyMTA1NTZiXjYxNjUxNTY2YSNuLWJtMmRjci1gLS1kLWFzcw%3D%3D&btag=80000e00030000&cquery=100o_101r_100B_100x_100z&dy_q=1772175290&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v0d00fg10000cr09uffog65mp6e70hq0&line=0&file_id=9b9e8a4a85994f9bace091878c394655&sign=175e8c4bde422e18642e0cd5bff0c83d&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg?lk3s=138a59ce&x-expires=1773381600&x-signature=ICn3y5DILp9NvTcrXJVFryzBWqM%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg?lk3s=138a59ce&x-expires=1773381600&x-signature=heMLJgUmcla5Z6WyUpLW%2BJjTWOA%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015/o4tEAfRZBAjmiSxAeAirJyInwBNIy0wg2k9d8A", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015/o4tEAfRZBAjmiSxAeAirJyInwBNIy0wg2k9d8A~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=VSHYXajjPGQTCORJAK1YRqkpFLA%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015/o4tEAfRZBAjmiSxAeAirJyInwBNIy0wg2k9d8A~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=Mas6E41cmSnAMWbh9q87K0H%2FMFM%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=85%2Bqb6rm0pD2tJw2lQQtel01ePc%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg?lk3s=138a59ce&x-expires=2087532000&x-signature=As0MTZxGYf8Kghtn9Xcll%2FwY7bY%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813/oUGITXeOI3nBa9gEMBXGeBc7zlALAAVAAeuNQg?lk3s=138a59ce&x-expires=2087532000&x-signature=kO18HUY2konyumxHRepg3QQ4XKM%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 783, + "comment_count": 856, + "digg_count": 8174, + "play_count": 0, + "share_count": 3345 + } + }, + { + "create_time": "2025-10-13 06.58.45", + "awemeType": 0, + "aweme_id": "7560473522301324602", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#富贵兵团#刘德华#谭咏麟#经典电影#好剧推荐", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7560473657944967995.mp3", + "url_key": "7560473554618223423", + "url_list": [ + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7560473657944967995.mp3", + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7560473657944967995.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v1e00fgi0000d3m32onog65ohqv24in0", + "url_list": [ + "https://v26-web.douyinvod.com/fd2aef58717c4dcbdaca0bad63e1610b/69a16c0f/video/tos/cn/tos-cn-ve-15c000-ce/owHExoEzQHxAe57ClsPDfEc9FiAFi8Dwf4UoIX/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1431&bt=1431&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=PGRmNmc0N2Y2Omc4OTU0NUBpM2w1dHI5cnI2NjMzbGkzNEA0MGJgMmNgXzYxLjQ1MzRiYSNrMXNlMmRrL2phLS1kLWJzcw%3D%3D&btag=80000e00030000&cquery=100o_101r_100B_100x_100z&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/4c3b8b009f3003d756591a5fa964674b/69a16c0f/video/tos/cn/tos-cn-ve-15c000-ce/owHExoEzQHxAe57ClsPDfEc9FiAFi8Dwf4UoIX/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1431&bt=1431&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=PGRmNmc0N2Y2Omc4OTU0NUBpM2w1dHI5cnI2NjMzbGkzNEA0MGJgMmNgXzYxLjQ1MzRiYSNrMXNlMmRrL2phLS1kLWJzcw%3D%3D&btag=80000e00030000&cquery=100z_100o_101r_100B_100x&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v1e00fgi0000d3m32onog65ohqv24in0&line=0&file_id=e2716286751d4793bcc4f15dc3ec3a79&sign=f9c60eeb051e8bde502a0e41c6a64a56&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp?lk3s=138a59ce&x-expires=1773381600&x-signature=ANfMytvyGBhKUHEDJj%2B9iu9REbk%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp?lk3s=138a59ce&x-expires=1773381600&x-signature=NiNuUTdPWp5Hw92NH0vulaWQMLg%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/okIasOMrivjiwgBIA44uhPA3xMSjAYOr1qiuX", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/okIasOMrivjiwgBIA44uhPA3xMSjAYOr1qiuX~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=LU6xB0boaoU2eLLzFLDq%2F4%2BWjxw%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/okIasOMrivjiwgBIA44uhPA3xMSjAYOr1qiuX~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=PcFqTuU9uq80qEDfGmQ61lMEIy8%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp", + "url_list": [ + "https://p9-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=1S5DsTZ7eiICQof8jO5Qgwhf2m8%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp?lk3s=138a59ce&x-expires=2087532000&x-signature=szrq000VsWscI5GB5yT9D7fY09E%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogsPIMAOpA8hhyLi2MTapnAtAqJDBwi7PAETp?lk3s=138a59ce&x-expires=2087532000&x-signature=Rqg%2FOV6LIpN6sVDpzzFro91BkbE%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 1621, + "comment_count": 408, + "digg_count": 9141, + "play_count": 0, + "share_count": 614 + } + }, + { + "create_time": "2026-02-16 19.11.25", + "awemeType": 0, + "aweme_id": "7607419093419301221", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#使徒行者#古天乐#张家辉#经典港片", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7607419145684470586.mp3", + "url_key": "7607419083872946953", + "url_list": [ + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7607419145684470586.mp3", + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7607419145684470586.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v1e00fgi0000d69fkevog65o8d57vd3g", + "url_list": [ + "https://v26-web.douyinvod.com/35772f8c64443df2f4d87ad0997ccbab/69a16ce6/video/tos/cn/tos-cn-ve-15c000-ce/okfTPRmlGf20Q3GDXfAsYgRMlAg4SWeFcF8JNC/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1195&bt=1195&cs=0&ds=3&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=OGQ1NTs8NThmZjNlNTZoNEBpamc6Z3I5cmhpOTMzbGkzNEA0LS8tMDQzNmMxLTMxYDYxYSMwczI1MmRzaDZhLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=101r_100B_100x_100z_100o&dy_q=1772175290&feature_id=fea919893f650a8c49286568590446ef&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/5edfe101b96247f81f8accb0a7ecd9cb/69a16ce6/video/tos/cn/tos-cn-ve-15c000-ce/okfTPRmlGf20Q3GDXfAsYgRMlAg4SWeFcF8JNC/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1195&bt=1195&cs=0&ds=3&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=OGQ1NTs8NThmZjNlNTZoNEBpamc6Z3I5cmhpOTMzbGkzNEA0LS8tMDQzNmMxLTMxYDYxYSMwczI1MmRzaDZhLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100z_100o_101r_100B_100x&dy_q=1772175290&feature_id=fea919893f650a8c49286568590446ef&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v1e00fgi0000d69fkevog65o8d57vd3g&line=0&file_id=419ec3426b004cfc9562793802220a75&sign=02c0ec9fdb486aaab4dbcd36ddda9630&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk?lk3s=138a59ce&x-expires=1773381600&x-signature=S8tAl5pE%2BU6Kp%2Bsw5O56JPgpcSk%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk?lk3s=138a59ce&x-expires=1773381600&x-signature=DVUG9iEsXzpWOeLDUQeD6Iln%2FVE%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/oMfFee38clnmXTACgR2c2e0MAQlD4CClGPSAgJ", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/oMfFee38clnmXTACgR2c2e0MAQlD4CClGPSAgJ~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=WMbKf3xf%2B4KrR23pIxjf8kDJXQg%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/oMfFee38clnmXTACgR2c2e0MAQlD4CClGPSAgJ~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=i%2BjCnimwgpkXZGW%2BSlPdjGlhIeQ%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=lMgItQBxedHVOlMhmKYV4rF09U0%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk?lk3s=138a59ce&x-expires=2087532000&x-signature=PGIC7ThC%2FHYX5pvs74tN0bV8oMU%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0Fl3gASeAIbJaEfAG2m7rJe9IT4LDAwNfAQzk?lk3s=138a59ce&x-expires=2087532000&x-signature=dlKkFzUrrUQgwRaKV5Nk0Ejwh24%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 1, + "comment_count": 0, + "digg_count": 8, + "play_count": 0, + "share_count": 0 + } + }, + { + "create_time": "2026-02-11 10.44.27", + "awemeType": 0, + "aweme_id": "7605433018114787321", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#杨千嬅#吴彦祖#经典港片#推荐电影", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7605433003375987515.mp3", + "url_key": "7605433002574891811", + "url_list": [ + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7605433003375987515.mp3", + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7605433003375987515.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v2800fgi0000d65ujonog65m4lo7ijbg", + "url_list": [ + "https://v26-web.douyinvod.com/9f3ea7265d011461e78e378b2f0e845a/69a16c94/video/tos/cn/tos-cn-ve-15c000-ce/oIMEDzyfQSsBQSFDmY2DfJu7niAFjdegkU2TIu/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1369&bt=1369&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=OjRlNGY6ZDxmNWk0ZjRlZ0Bpam06b3A5cnJ4OTMzbGkzNUAwMDYxLl4yXzExYy5hYmAwYSNfZmwxMmRrZzJhLS1kLTVzcw%3D%3D&btag=80000e00038000&cquery=100x_100z_100o_101r_100B&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/79bbc2a7467169039e2412fcaf4c94b0/69a16c94/video/tos/cn/tos-cn-ve-15c000-ce/oIMEDzyfQSsBQSFDmY2DfJu7niAFjdegkU2TIu/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1369&bt=1369&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=OjRlNGY6ZDxmNWk0ZjRlZ0Bpam06b3A5cnJ4OTMzbGkzNUAwMDYxLl4yXzExYy5hYmAwYSNfZmwxMmRrZzJhLS1kLTVzcw%3D%3D&btag=80000e00038000&cquery=101r_100B_100x_100z_100o&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v2800fgi0000d65ujonog65m4lo7ijbg&line=0&file_id=3dcbe1dc11ff424cb95aa71c419b3137&sign=bbadaeea1cc2057afd5582ca2dce662e&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC?lk3s=138a59ce&x-expires=1773381600&x-signature=R1D4Ow5mNohytSNzniLaD4m1AHs%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC?lk3s=138a59ce&x-expires=1773381600&x-signature=inRA2Mu%2BcCETDwj5WNhqaMn8ndA%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/os7mmBaYaMA4QiXABipTiv5I2PLsvAvJ9BX0I", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/os7mmBaYaMA4QiXABipTiv5I2PLsvAvJ9BX0I~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=22mAF3DPgzmYv%2FJaaHp1UWAS3sQ%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/os7mmBaYaMA4QiXABipTiv5I2PLsvAvJ9BX0I~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=FlMJ8h%2BKW7tcR0VKniaVHSye%2Bh8%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC", + "url_list": [ + "https://p9-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=WCWojy0SW9D29OLW%2B%2B9ZNsmLeAg%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC?lk3s=138a59ce&x-expires=2087532000&x-signature=B2J0kZBKbjFk%2FJVtRQ3hNUa%2BgB8%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/ogiAIndffQ7EcgA9E7ipjAiaOAuB1CwEA75lLC?lk3s=138a59ce&x-expires=2087532000&x-signature=gEmfVkDp5UlQAE9QDTy9pfJ8Gu4%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 62, + "comment_count": 67, + "digg_count": 619, + "play_count": 0, + "share_count": 67 + } + }, + { + "create_time": "2026-02-10 09.39.33", + "awemeType": 0, + "aweme_id": "7605045179136957157", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#杨千嬅#吴彦祖#经典港片#推荐电影", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7605045192571308837.mp3", + "url_key": "7605045163133848360", + "url_list": [ + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7605045192571308837.mp3", + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7605045192571308837.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v2800fgi0000d658monog65m43lmb0ng", + "url_list": [ + "https://v26-web.douyinvod.com/3f4d60fdb55b5d21e3d825d635d31000/69a16c55/video/tos/cn/tos-cn-ve-15c000-ce/oMcbQQIGLgeJWYBiyTRVBCeIuSLM67AF2FDfZg/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=967&bt=967&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=O2ZoNjg4NDc7PGg6ZzQ6Z0BpajNwNnA5cnI7OTMzbGkzNUA2Ml4wYTEtNmExLjRgLzUtYSNrX2kxMmRrajJhLS1kLTVzcw%3D%3D&btag=80000e00038000&cquery=100o_101r_100B_100x_100z&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/b9bbad57178dfbbd35c9059d1328f786/69a16c55/video/tos/cn/tos-cn-ve-15c000-ce/oMcbQQIGLgeJWYBiyTRVBCeIuSLM67AF2FDfZg/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=967&bt=967&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=O2ZoNjg4NDc7PGg6ZzQ6Z0BpajNwNnA5cnI7OTMzbGkzNUA2Ml4wYTEtNmExLjRgLzUtYSNrX2kxMmRrajJhLS1kLTVzcw%3D%3D&btag=80000e00038000&cquery=100B_100x_100z_100o_101r&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v2800fgi0000d658monog65m43lmb0ng&line=0&file_id=0d8721cd771e49d8940145d533ae5c98&sign=b4ac457d960c3bc95d78371a91bddae9&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE?lk3s=138a59ce&x-expires=1773381600&x-signature=ic4%2Ft6mT79EVWCRAXCKS0yOVRK8%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE?lk3s=138a59ce&x-expires=1773381600&x-signature=90k99U225Ly8RZ64670Sa84Ssq4%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/osAimOsAiKB2avWIYTvvgLBAxMPIqYljIadHt", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/osAimOsAiKB2avWIYTvvgLBAxMPIqYljIadHt~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=vWrIBgC%2F3wFqPzTP8IwFm5ZmvTo%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/osAimOsAiKB2avWIYTvvgLBAxMPIqYljIadHt~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=UpLiCUFAXSegSAXa8OS8jbU2Glc%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=gW2zgDjVUyajDjNuZX%2FM%2FECoWt0%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE?lk3s=138a59ce&x-expires=2087532000&x-signature=Re6fWr5W8PNfWbb4Gd0O3VFie%2Bc%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oUOFiACUEZ9oCxATFfkfKIoApFAj2DOkiAEwAE?lk3s=138a59ce&x-expires=2087532000&x-signature=CQzitkUfooHLajqKhAEY1OTFwMg%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 173, + "comment_count": 91, + "digg_count": 1776, + "play_count": 0, + "share_count": 107 + } + }, + { + "create_time": "2026-02-09 10.36.07", + "awemeType": 0, + "aweme_id": "7604688696847339185", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#杨千嬅#吴彦祖#经典港片#推荐电影", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7604688663473048357.mp3", + "url_key": "7604688657210985252", + "url_list": [ + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7604688663473048357.mp3", + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7604688663473048357.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v2800fgi0000d64kcuvog65oaeshik6g", + "url_list": [ + "https://v26-web.douyinvod.com/be7d951ca1502af1e084b33a1c37f970/69a16ced/video/tos/cn/tos-cn-ve-15c000-ce/o0eBMiEQS79fi4xUv0nIANoJTEIAEEZkBKyUiw/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1401&bt=1401&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=ODwzN2lkNjs6NDVlNGU2PEBpam5raHI5cnhuOTMzbGkzNUAxNWBiYjEwX2AxLi8xMl5hYSMzZnBeMmRzYDFhLS1kLTVzcw%3D%3D&btag=80000e00038000&cquery=101r_100B_100x_100z_100o&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/80508878e1371f55b7890187e2902da3/69a16ced/video/tos/cn/tos-cn-ve-15c000-ce/o0eBMiEQS79fi4xUv0nIANoJTEIAEEZkBKyUiw/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1401&bt=1401&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=ODwzN2lkNjs6NDVlNGU2PEBpam5raHI5cnhuOTMzbGkzNUAxNWBiYjEwX2AxLi8xMl5hYSMzZnBeMmRzYDFhLS1kLTVzcw%3D%3D&btag=80000e00038000&cquery=100B_100x_100z_100o_101r&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v2800fgi0000d64kcuvog65oaeshik6g&line=0&file_id=d9a35b412b1241c7b8334aefe4c08945&sign=180c3726a73195d85929a814f1947424&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi?lk3s=138a59ce&x-expires=1773381600&x-signature=o288gtoNikvGsmQkeWklTM6Tl4w%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi?lk3s=138a59ce&x-expires=1773381600&x-signature=Jl79%2FIGhtsFQhDie%2BRvIpzQGSI0%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/ooUUuBMINsiKE79fAw4J7o0DSmeZxAhJiIkBA8", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/ooUUuBMINsiKE79fAw4J7o0DSmeZxAhJiIkBA8~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=r2okC3W7TQZ1SJjdCBJPrGXmj4I%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/ooUUuBMINsiKE79fAw4J7o0DSmeZxAhJiIkBA8~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=pcCzDzTfhkcS9I8qZg9UdZZlOnQ%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=RoFmOZhwzuv7NHt6aYgiK%2FaMc0g%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi?lk3s=138a59ce&x-expires=2087532000&x-signature=I7GNy87jprLyQNz94v1EwCoOov4%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/o0feEAQNo7KrCAVJGECXIrwSwAiBE0AKxwBoAi?lk3s=138a59ce&x-expires=2087532000&x-signature=ynnWmtRXTGEGY5kYddUjzrDtlkk%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 123, + "comment_count": 42, + "digg_count": 1167, + "play_count": 0, + "share_count": 55 + } + }, + { + "create_time": "2026-02-08 20.00.00", + "awemeType": 0, + "aweme_id": "7604383610665595045", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#杨千嬅#吴彦祖#经典港片#推荐电影", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7604383743838587706.mp3", + "url_key": "7604383672959077147", + "url_list": [ + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7604383743838587706.mp3", + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7604383743838587706.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v1e00fgi0000d642p47og65j0epurl50", + "url_list": [ + "https://v26-web.douyinvod.com/ddebea54c5a124b41d69292a73d1aaa1/69a16c6d/video/tos/cn/tos-cn-ve-15c000-ce/oMQJIjJV7zfEASGTDLezeqwsUkMBhIUg8bFFC9/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1351&bt=1351&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=PGY8ZTVmOTdmODo6M2g3NkBpM294aG05cjc1OTMzbGkzNEBeMTU2YDI1XjUxNTIyLWMzYSMyb20tMmQ0bTFhLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100z_100o_101r_100B_100x&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/2bb6b01b6df178b7f65bddeb47b64ea8/69a16c6d/video/tos/cn/tos-cn-ve-15c000-ce/oMQJIjJV7zfEASGTDLezeqwsUkMBhIUg8bFFC9/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1351&bt=1351&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=PGY8ZTVmOTdmODo6M2g3NkBpM294aG05cjc1OTMzbGkzNEBeMTU2YDI1XjUxNTIyLWMzYSMyb20tMmQ0bTFhLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100o_101r_100B_100x_100z&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v1e00fgi0000d642p47og65j0epurl50&line=0&file_id=63f40e505787458ca4865cc29b894ca9&sign=b68a626b12a322f35d9e278fc00a8af5&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB?lk3s=138a59ce&x-expires=1773381600&x-signature=tEc4zMDrFJO5AumMXSTYjTAsnz0%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB?lk3s=138a59ce&x-expires=1773381600&x-signature=BeHNTEYytQuBjlXPvDAHIb2otmo%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/osiAtK4XIqAX1zrPIYiMAPIakPgsiAahM7QsB", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/osiAtK4XIqAX1zrPIYiMAPIakPgsiAahM7QsB~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=UzwrhF7o5xoxKUb%2Feult7TUSn4M%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/osiAtK4XIqAX1zrPIYiMAPIakPgsiAahM7QsB~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=JDKQUtIfFOCE0HVT%2BsAMH4hlM%2BY%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=Dc1UKq5ry2tvTmxTxUJggK5KD0o%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB?lk3s=138a59ce&x-expires=2087532000&x-signature=RECywEjt5hP%2FL1XPKzCbig%2FuDQA%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/okilpAK0xAk4EyOAizdBCeMEe1IfIHSAAqEwEB?lk3s=138a59ce&x-expires=2087532000&x-signature=PJJ6XLTznOzreUifnAiVVUyZW4E%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 72, + "comment_count": 25, + "digg_count": 627, + "play_count": 0, + "share_count": 23 + } + }, + { + "create_time": "2026-02-06 10.31.11", + "awemeType": 0, + "aweme_id": "7603574178777130873", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#新扎师妹#杨千嬅#吴彦祖#经典港片", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7603574334891756346.mp3", + "url_key": "7603574205489105727", + "url_list": [ + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7603574334891756346.mp3", + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7603574334891756346.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v1e00fgi0000d62kte7og65ot6ifr96g", + "url_list": [ + "https://v26-web.douyinvod.com/58153e2a80ed46497d1a93bb49ee0c03/69a16cfc/video/tos/cn/tos-cn-ve-15c000-ce/ocMAAyEac6PhYIiJpRTNOPXiJRi8uBa6V9X4K/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1274&bt=1274&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=M2dlZ2U2NWk1NTppNmQ1M0BpajxpOXI5cmhuOTMzbGkzNEBeNTE2MV8vNjIxXy41MjEtYSMzb2ZxMmQ0cS9hLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100o_101r_100B_100x_100z&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/2a48bcfa5bbe398cbfeddf83bfe83e4f/69a16cfc/video/tos/cn/tos-cn-ve-15c000-ce/ocMAAyEac6PhYIiJpRTNOPXiJRi8uBa6V9X4K/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1274&bt=1274&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=M2dlZ2U2NWk1NTppNmQ1M0BpajxpOXI5cmhuOTMzbGkzNEBeNTE2MV8vNjIxXy41MjEtYSMzb2ZxMmQ0cS9hLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100B_100x_100z_100o_101r&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v1e00fgi0000d62kte7og65ot6ifr96g&line=0&file_id=00425a831fb742529f22b34b9d4b8da0&sign=1565b338662eb1c09c2f4274d7ddf2de&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA?lk3s=138a59ce&x-expires=1773381600&x-signature=LGBfS8Ax7TGx682t7xEkZePrGR8%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA?lk3s=138a59ce&x-expires=1773381600&x-signature=YrnCubRgioZl%2FxW4osvufzsY5cU%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/oY4Os6XuBUNiai9PVuMAKaITFIuAYPphY3ApP", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/oY4Os6XuBUNiai9PVuMAKaITFIuAYPphY3ApP~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=pi2iQ1sMOPEY%2Fx%2F54yrrbIBbvrQ%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/oY4Os6XuBUNiai9PVuMAKaITFIuAYPphY3ApP~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=w0gaXIXKlPOOOrO3QLHSanUT2WY%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=fPY9rwNPO4NPDBx%2F5218pRCtrEI%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA?lk3s=138a59ce&x-expires=2087532000&x-signature=PiDW24J%2FmJIOjyz9BrrAMRQGYWc%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oEeuhU49iE1TAUQEEpVwcJDeFufAAEmACIqFAA?lk3s=138a59ce&x-expires=2087532000&x-signature=ZC4H%2BCw2l2IC8ZUzBX7Z%2FosG4T0%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 112, + "comment_count": 56, + "digg_count": 1057, + "play_count": 0, + "share_count": 59 + } + }, + { + "create_time": "2026-02-05 09.13.01", + "awemeType": 0, + "aweme_id": "7603182910511004090", + "author": { + "avatar_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "avatar": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_url": { + "height": 720, + "uri": "c8510002be9a3a61aad2", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=O2v7%2FTvMk3dmXrMimfJyhEZy%2BTs%3D&from=327834062", + "https://p9-pc-sign.douyinpic.com/obj/c8510002be9a3a61aad2?lk3s=138a59ce&x-expires=1773381600&x-signature=gGsJ31RpqLvvE9fbU3X0NIKOyeU%3D&from=327834062" + ], + "width": 720 + }, + "favoriting_count": "", + "follower_count": "", + "following_count": "", + "nickname": "大公鸡影视", + "prevent_download": false, + "sec_uid": "MS4wLjABAAAA2P7MeZl0VUsDmCzKbZeLlVGVTDRAuXmvr_zcC6XNqd-6R4n9ssCguSgA-gnBfjUO", + "secret": "", + "short_id": "", + "signature": "", + "total_favorited": "", + "uid": "2507329934467886", + "unique_id": "", + "user_age": "" + }, + "desc": "#吴彦祖#杨千嬅#经典港片 #推荐电影", + "images": [], + "music": { + "cover_hd": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_large": { + "height": 720, + "uri": "1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_medium": { + "height": 720, + "uri": "720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "cover_thumb": { + "height": 720, + "uri": "100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531", + "url_list": [ + "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/douyin-user-image-file_7b7b85137fd6bd88b22539a19958c531.jpeg?from=327834062" + ], + "width": 720 + }, + "owner_handle": "58503599625", + "owner_id": "2507329934467886", + "owner_nickname": "大公鸡影视", + "play_url": { + "height": 720, + "uri": "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7603183074511194917.mp3", + "url_key": "7603182951165070090", + "url_list": [ + "https://lf26-music-east.douyinstatic.com/obj/ies-music-hj/7603183074511194917.mp3", + "https://lf9-music-east.douyinstatic.com/obj/ies-music-hj/7603183074511194917.mp3" + ], + "width": 720 + }, + "title": "@大公鸡影视创作的原声" + }, + "mix_info": { + "cover_url": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "ids": "", + "is_serial_mix": "", + "mix_id": "", + "mix_name": "", + "mix_pic_type": "", + "mix_type": "", + "statis": { + "current_episode": "", + "updated_to_episode": "" + } + }, + "video": { + "play_addr": { + "uri": "v1e00fgi0000d61uqmvog65qebjrcic0", + "url_list": [ + "https://v26-web.douyinvod.com/c8fc898f910497414b801171b13b3a79/69a16c63/video/tos/cn/tos-cn-ve-15c000-ce/oAfTXs7GBHDB9IKEglF1bQeJJwwcIgC0eki85A/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1144&bt=1144&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=Zzg0ZTo0OmY3PDQ3OThkM0BpM2x1ZXQ5cnB4OTMzbGkzNEAwXi8xXzQxNjQxNS9fLy5iYSNgYGdiMmRzbi5hLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100x_100z_100o_101r_100B&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://v11-weba.douyinvod.com/29a81dc572e4748333f028b4311369ae/69a16c63/video/tos/cn/tos-cn-ve-15c000-ce/oAfTXs7GBHDB9IKEglF1bQeJJwwcIgC0eki85A/?a=6383&ch=10010&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1144&bt=1144&cs=0&ds=4&ft=khyHAB1UiiuGzIrC~dOC~49Zyo3nOz75f~bopMyDTBFujMQ2B22ylxdu56jzDXd.o~&mime_type=video_mp4&qs=0&rc=Zzg0ZTo0OmY3PDQ3OThkM0BpM2x1ZXQ5cnB4OTMzbGkzNEAwXi8xXzQxNjQxNS9fLy5iYSNgYGdiMmRzbi5hLS1kLWJzcw%3D%3D&btag=80000e00038000&cquery=100B_100x_100z_100o_101r&dy_q=1772175290&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&l=20260227145450F399A0DBB767AACC7803", + "https://www.douyin.com/aweme/v1/play/?video_id=v1e00fgi0000d61uqmvog65qebjrcic0&line=0&file_id=e01a25b6248149749c4771b74b21a53d&sign=fc1dfe85ef970c92e6dd28d22f90dc66&is_play_url=1&source=PackSourceEnum_PUBLISH" + ] + }, + "cover_original_scale": { + "height": "", + "uri": "", + "url_list": [], + "width": "" + }, + "dynamic_cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef", + "url_list": [ + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef?lk3s=138a59ce&x-expires=1773381600&x-signature=BLTWuUfGAxp%2BK53uKzeZxW2vPb0%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef?lk3s=138a59ce&x-expires=1773381600&x-signature=oWXfuGLdSKMkxma5iuntP1Xa6%2BY%3D&from=327834062_large&s=PackSourceEnum_PUBLISH&se=false&sc=dynamic_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + }, + "origin_cover": { + "height": 360, + "uri": "tos-cn-p-0015c000-ce/ogrBYfeD2g27D5sIAe0EAbC87JBFIBxcTS15n2", + "url_list": [ + "https://p9-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/ogrBYfeD2g27D5sIAe0EAbC87JBFIBxcTS15n2~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=wbDylg3mLzrLU1trRZXjacduVo8%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015c000-ce/ogrBYfeD2g27D5sIAe0EAbC87JBFIBxcTS15n2~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1773381600&x-signature=hC1TwZtNwaA%2FJrqMo9tGvJUK%2Fwk%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 640 + }, + "cover": { + "height": 720, + "uri": "tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef", + "url_list": [ + "https://p9-pc-sign.douyinpic.com/tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef~tplv-dy-cropcenter:323:430.jpeg?lk3s=138a59ce&x-expires=2087532000&x-signature=snId%2FGnqSxLTbM0xzxsADAE%2FIQ0%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=true&sh=323_430&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p3-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef?lk3s=138a59ce&x-expires=2087532000&x-signature=eFi6fjAdaO8i7flBUJ5TkRgdVjk%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803", + "https://p9-pc-sign.douyinpic.com/obj/tos-cn-i-0813c000-ce/oAa7pAAFpCEvowjDE8iiwdBNAgA9tsAIEufkef?lk3s=138a59ce&x-expires=2087532000&x-signature=2LlWtLtc0SKi9w4dcsDHskqGeAQ%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=pcweb_cover&l=20260227145450F399A0DBB767AACC7803" + ], + "width": 720 + } + }, + "statistics": { + "admire_count": 0, + "collect_count": 346, + "comment_count": 185, + "digg_count": 2695, + "play_count": 0, + "share_count": 175 + } + } + ], + "crawl_time": "2026-02-27 14:54:51" +} \ No newline at end of file diff --git a/DouYin/apiproxy/__init__.py b/DouYin/apiproxy/__init__.py index 9560031..935956b 100644 --- a/DouYin/apiproxy/__init__.py +++ b/DouYin/apiproxy/__init__.py @@ -2,4 +2,4 @@ # -*- coding: utf-8 -*- -ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36' \ No newline at end of file +ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' \ No newline at end of file diff --git a/DouYin/apiproxy/douyin/__init__.py b/DouYin/apiproxy/douyin/__init__.py index de807a9..518f47b 100644 --- a/DouYin/apiproxy/douyin/__init__.py +++ b/DouYin/apiproxy/douyin/__init__.py @@ -9,10 +9,10 @@ douyin_headers = { 'referer': 'https://www.douyin.com/', 'accept': 'application/json, text/plain, */*', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8', - 'accept-encoding': 'gzip, deflate, br', + 'accept-encoding': 'gzip, deflate', 'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"', 'sec-ch-ua-mobile': '?0', - 'sec-ch-ua-platform': '"macOS"', + 'sec-ch-ua-platform': '"Windows"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin' diff --git a/DouYin/apiproxy/douyin/douyin.py b/DouYin/apiproxy/douyin/douyin.py index c555c50..6314ab3 100644 --- a/DouYin/apiproxy/douyin/douyin.py +++ b/DouYin/apiproxy/douyin/douyin.py @@ -165,7 +165,7 @@ class Douyin(object): # 单作品接口返回 'aweme_detail' # 主页作品接口返回 'aweme_list'->['aweme_detail'] # 更新API参数以适应最新接口要求 - detail_params = f'aweme_id={aweme_id}&device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=MacIntel&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Mac&os_version=10.15.7&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50&update_version_code=170400' + detail_params = f'aweme_id={aweme_id}&device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50&update_version_code=170400' jx_url = self.urls.POST_DETAIL + utils.getXbogus(detail_params) response = requests.get(url=jx_url, headers=douyin_headers, timeout=10) @@ -280,7 +280,15 @@ class Douyin(object): while True: try: # 构建请求URL - 添加更多必需参数 - base_params = f'sec_user_id={sec_uid}&count={count}&max_cursor={max_cursor}&device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=MacIntel&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Mac&os_version=10.15.7&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50' + base_params = f'sec_user_id={sec_uid}&count={count}&max_cursor={max_cursor}&device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50' + + # 尝试从 cookie 中提取 msToken + cookie_str = douyin_headers.get('Cookie', '') + if 'msToken=' in cookie_str: + import re + ms_token_match = re.search(r'msToken=([^;]+)', cookie_str) + if ms_token_match: + base_params += f"&msToken={ms_token_match.group(1)}" if mode == "post": url = self.urls.USER_POST + utils.getXbogus(base_params) @@ -415,7 +423,7 @@ class Douyin(object): while True: # 接口不稳定, 有时服务器不返回数据, 需要重新获取 try: - live_params = f'aid=6383&device_platform=web&web_rid={web_rid}&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=MacIntel&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Mac&os_version=10.15.7&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50' + live_params = f'aid=6383&device_platform=web&web_rid={web_rid}&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50' live_api = self.urls.LIVE + utils.getXbogus(live_params) response = requests.get(live_api, headers=douyin_headers) @@ -870,19 +878,39 @@ class Douyin(object): while True: # 接口不稳定, 有时服务器不返回数据, 需要重新获取 try: - user_detail_params = f'sec_user_id={sec_uid}&device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=MacIntel&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Mac&os_version=10.15.7&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50' + user_detail_params = f'sec_user_id={sec_uid}&device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.0.0&browser_online=true&engine_name=Blink&engine_version=122.0.0.0&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50' + + # 尝试从 cookie 中提取 msToken + cookie_str = douyin_headers.get('Cookie', '') + if 'msToken=' in cookie_str: + import re + ms_token_match = re.search(r'msToken=([^;]+)', cookie_str) + if ms_token_match: + user_detail_params += f"&msToken={ms_token_match.group(1)}" + url = self.urls.USER_DETAIL + utils.getXbogus(user_detail_params) - res = requests.get(url=url, headers=douyin_headers) - datadict = json.loads(res.text) - - if datadict is not None and datadict["status_code"] == 0: - return datadict + res = requests.get(url=url, headers=douyin_headers, timeout=10) + + if not res.text.strip(): + logger.warning(f"getUserDetailInfo: Empty response (Status: {res.status_code})") + else: + try: + datadict = json.loads(res.text) + if datadict is not None and datadict.get("status_code") == 0: + return datadict + else: + logger.warning(f"getUserDetailInfo: API error (Status: {datadict.get('status_code')}, Msg: {datadict.get('status_msg')})") + except json.JSONDecodeError: + logger.error(f"getUserDetailInfo: JSON decode error (Status: {res.status_code})") except Exception as e: - end = time.time() # 结束时间 - if end - start > self.timeout: - print("[ 提示 ]:重复请求该接口" + str(self.timeout) + "s, 仍然未获取到数据") - return datadict + logger.error(f"getUserDetailInfo: Exception: {e}") + + end = time.time() # 结束时间 + if end - start > self.timeout: + print("[ 提示 ]:重复请求该接口" + str(self.timeout) + "s, 仍然未获取到数据") + return datadict + time.sleep(1) # 增加小延迟避免请求过快 if __name__ == "__main__": diff --git a/Tools/Excel/20260210_115509/新电途_20260210_115509.xlsx b/Tools/Excel/20260210_115509/新电途_20260210_115509.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..94200b84c842e9b0cdcccc3f571c110f786edc04 GIT binary patch literal 169030 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 literal 0 HcmV?d00001 diff --git a/Tools/Excel/20260210_115509/特来电_20260210_115509.xlsx b/Tools/Excel/20260210_115509/特来电_20260210_115509.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..38d5980a5629b635b09c876b20ebd5fa7f429cd3 GIT binary patch literal 94348 zcmZ^~19T-p*Y_LS$;7s8+qP}nwr$(CJ+W=un0S(WndklPy7#$jy=$F)PIp)DQ|Rvf ztNK^9yc9493IG5A1i-Pbq_*g&jCjh=-t>;5rzs8__;GJml|5b&z6(rO9pQ2L% z0RSNWf2&|*=V?ppsb#v}!&oxj5etlxB2$QL>*NHNnS==Dh=N~g7Vy9>99*;M)hG(JS$q(-O z>vWqdU2SwbduoithywH&Wp#J`P$km3Et(bpL+n1|$Vfw5fl&}r?kJNh+Iw10BZwHlpY5cdxp_elorlz1*$`~|@X%f*?a zKI7{BJbaxOJ+a};Y=gOXc<;{MI=K*Kj}5Y?(3Lxw^T)ccSOBuQ$YRcT?Rld%p|mna zNpA7QXZJG8JR2%TOK#E1ZF?~`Vx(ry9k%ygE^MeaVx(%$`O<=v?6cOY_#D+-Q1tN9 z6X{pWG5;byfV#cw%G3gIsxHO5OETs`8_MQ3-M+D;6$ZwDpiv^5SW>LqScu+V1 zw&8hcdG9)b*2ulV#0Bm6m05}wc}$4Rv4AJBK!V>}b)QdZUE{?}o;g08Ggird7FB>{ z*Iik&Nq?Qrj`GTqR%HZd?7OKU?>~sN48q84xsV+>vCRa%XP=)FN=O)IZ{MIUWx37p zR8#A9W@nFbqaBI5wx88~p5?@BiB>E6n+R8vMTtf7#%MZ^5ZPNKU>TA5AaX*}E#A$bZ=EgxrnofoW69`QsCPk{?@Rboq{-P?`_{v`7ze}bg zewR#$vuGkJb0(cWW5OH|t;2E&Ghg8L`~rQ;W`V*^z`_AC!)g*G2)5|D!>uEZ&8!(j zq!Q#c#9+mAY(WiZb*Ko|*F+kbcb8pgM*OQ$&632cKXx^p;4-t40Ed{U%l32bOjJB# zA8shSWaf3DgF47(uI`Y;z**p=>1Vrd=rWTvb?l4S5}M=@JZTxKSahK*HbT5=;b$LXz_HIBUgt50*@-23bIb>iT`O0f>^faN>7q0tH*U69?=mQ={w|>(k_e2h}M6Jt(T^GiZ$fQ^gm0OGk^G z*`KCq>mAM~9&VPJwAj{BxMA23Dsl{3q$8VEP3)L745;ADs%Smb_geBa|B{{k(x@5B zgF%!xLN=7S{EPTXJ>OG~B7*=8L6JcsaN<;5HJQ;P6Rcc3aZG{J7?C9dC@HAmC zD}C6dfq|sf3fDk7kkPqbKF!Lm^(1tCPjeg4fB3W?7lS|MI@SB5BUJ1AynXm?o5Uq9 zo$c`(5ztu#h$sac3>A&>Nd6`<9t;_9I(c094k*yL6x%=j9lGZMri0?wObsuGp9pnO zsI2Y+2@*Zr)>@m+4rXI5>GQ4kLY7j#vX1{m{XQ#`=ChmxB3e18{;mA{U+xQuW?r5rtG_6BAJ*>%Td)FF;I2_%lyZDn@h0f&#=tc381 zEEHNr;{cGZVyUm@tQsoRs-Kmwe=gr|+CJi{mQT*|*jC$KW@GtmS@V3kd3yXl99*0{ z`qce2w>uMGF1xZOV?I1z_Wyh>ZeKj;m^(Z9Oh71lq(Z+00l-qEYEi@Q<1&BOUl`FfQ^+Qnab&8u2o{g~es z`y$z`UhR9MqucEO#QCVTQxp64{5*f3;EBe;vsuaeGJ5iT^mg&N<~$k|OS5BB(^Kv1 zw49CIt!B%5ilK8G+S0b&lDoZK`EKikoz>Q<)7D{2ms2@jlek#wJNzyM#Dl**1ZVl; ziu1-O-I7_#n*2z~n)cJ~+4S~ywT_M3soBxoQrwa7{HGizQq5BHNGO?3MWw# zR@n|X2lK2Dkh6xAgEE>G}YUXO8lCO6l1tNxQocDM7pYahj_+aXJwek=HN)IYM?idC>Lw1b=h(rMHxca|hL~fFWV%N(p!%RC%0AT{Np-<5isC^c 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

@5lO<0XE%ToX{g7c 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