吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1913|回复: 13
上一主题 下一主题
收起左侧

[Python 转载] 财联社首页头条信息获取

[复制链接]
跳转到指定楼层
楼主
13955925361 发表于 2025-7-28 22:05 回帖奖励
Python一键运行即可,帮帮我。







[Python] 纯文本查看 复制代码

import requests
import time
import execjs
import  os
import csv
from pathlib import Path

os_path = Path.cwd()
filename = '财联社.csv'

headers = {
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Content-Type": "application/json;charset=utf-8",
    "Pragma": "no-cache",
    "Referer": "https://www.cls.cn/depth?id=1000",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "same-origin",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0",
    "sec-ch-ua": "\"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"138\", \"Microsoft Edge\";v=\"138\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\""
}
cookies = {
    "HWWAFSESID": "bc630764eb5f3d84e5",
    "HWWAFSESTIME": "1753695684821",
    "Hm_lvt_fa5455bb5e9f0f260c32a1d45603ba3e": "1753695687",
    "HMACCOUNT": "07A5501315C9A380",
    "hasTelegraphNotification": "on",
    "hasTelegraphRemind": "on",
    "hasTelegraphSound": "on",
    "vipNotificationState": "on",
    "Hm_lpvt_fa5455bb5e9f0f260c32a1d45603ba3e": "1753699194",
    "tfstk": "g-ZIZJ92RBACihoJF2Xwc04rTdiWPOS2VLM8n8KeeDnpwQex_korT8h7PfFY8blz4p4gg-KUYwmyVDmo2s5V0iy_K0mJ7aEtgextHxjy92QZX2t6tLfV0iydSpouQsrzfCkZ1Yn-p43-6OM-FYn-J0KOCYHy9UKLwO6sevTpyHhJXcHrF0h8w0BsBxctp03LwRh73FkNNf2Chana7nvNCoh623EsB_cYdaKZFlHC-beI1sd4fI0IMJh626KUBFlSsoCN5RV8JWkgNi1sDrV_Vqn5AIDQW-itTmQX5DwatoiLc6tEQ4GQWk36e3ntbbgTPW1B-XUU1qDtWLsmQSlTKkU1ECeLgXiKBVSAhR387k00Y1KIDr2EYzFA_elLlYIrqnlfeXTWCqxSCjW1CUYud6Oa0CCuTx3KIAWfCOTq-IxJ4e61CBisJADa4O66u25.."
}
url = "https://www.cls.cn/v3/depth/list/1000"
params = {
    "app": "CailianpressWeb",
    "id": "1000",
    "last_time": str(int(time.time())),
    "os": "web",
    "rn": "20",
    "sv": "8.4.6",
}

def write_dict_to_csv(filename, data_dict):
    """
    将单行字典数据写入CSV文件,自动判断是否写入表头,并检查重复数据

    参数:
        filename: CSV文件名(如 'movies.csv')
        data_dict: 单行字典数据(如 {'电影名称': '分手清单', ...})
    """
    file_exists = os.path.isfile(filename)
    fieldnames = list(data_dict.keys())

    # 如果文件已存在,检查是否有重复数据
    if file_exists:
        with open(filename, 'r', newline='', encoding='utf-8') as csvfile:
            reader = csv.DictReader(csvfile)
            # 将每行数据转换为元组(因为字典不可哈希)
            existing_data = [tuple(row.values()) for row in reader]

            # 将要写入的数据转换为元组形式进行比较
            new_data = tuple(data_dict.values())
            if new_data in existing_data:
                print(f"数据已存在,跳过写入: {data_dict}")
                return False

    # 写入数据(包括文件不存在或数据不重复的情况)
    with open(filename, 'a' if file_exists else 'w', newline='', encoding='utf-8') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

        if not file_exists:
            writer.writeheader()

        writer.writerow(data_dict)
        return True
with open ('财联社.js',  "r",encoding="utf-8") as f:
    js_code=f.read()
ctx=execjs.compile(js_code)
params["sign"]=ctx.call("get_sign",params)
response = requests.get(url, headers=headers, cookies=cookies, params=params).json()
data_list=response['data']
for item in data_list:
    dit={"标题":item['title'],
         '内容':item["brief"]}
    print(dit)
    write_dict_to_csv(filename, dit)
print(f"数据已保存到: {filename}")


[JavaScript] 纯文本查看 复制代码

const CryptoJS=require("crypto-js");

function a(e) {
    for (var t = 1; t < arguments.length; t++) {
        var n = null != arguments[t] ? arguments[t] : {};
        t % 2 ? i(Object(n), !0).forEach((function (t) {
                r(e, t, n[t])
            }
        )) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : i(
            Object(n)).forEach((function (t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }
        ))
    }
    return e
}
  function c(e, t) {
            var n = typeof t
              , r = null;
            return t === r ? r = i ? r : "".concat(a(e), "=").concat(r) : /string|number|boolean/.test(n) ? r = "".concat(a(e), "=").concat(a(t)) : Array.isArray(t) ? r = function(e, t) {
                return t.length ? s(t.map((function(t, n) {
                    return c("".concat(e, "[").concat(n, "]"), t)
                }
                ))) : a("".concat(e, "[]"))
            }(e, t) : "object" === n && (r = function(e, t) {
                return s(u(t).map((function(n) {
                    return c("".concat(e, "[").concat(n, "]"), t[n])
                }
                )))
            }(e, t)),
            r
        }
  function i(e, t) {
            var n = Object.keys(e);
            if (Object.getOwnPropertySymbols) {
                var r = Object.getOwnPropertySymbols(e);
                t && (r = r.filter((function(t) {
                    return Object.getOwnPropertyDescriptor(e, t).enumerable
                }
                ))),
                n.push.apply(n, r)
            }
            return n
        }

function r(e, t, n) {
    return t in e ? Object.defineProperty(e, t, {
        value: n,
        enumerable: !0,
        configurable: !0,
        writable: !0
    }) : e[t] = n,
        e
}

function p(e) {
            var t = e && s(u(e).map((function(t) {
                return c(t, e[t])
            }
            )));
            return t = sync(t),
            t = CryptoJS.MD5(t).toString()}

function s(e) {
            return e.filter((function(e) {
                return e
            }
            )).join("&")
        }
 function u(e) {
            return Object.keys(e).sort()
        }


function sync(e) {
            return CryptoJS.SHA1(e).toString()
        }

function o(e, n) {
                if (void 0 === e || null === e)
                    throw new Error("Illegal argument " + e);
                var r = wordsToBytes(f(e, n));
                return n && n.asBytes ? r : n && n.asString ? i.bytesToString(r) : bytesToHex(r)
            }

//
// _r={
//     "rn": 20,
//     "lastTime": 1753695508,
//     "subscribedColumnIds": "",
//     "hasFirstVipArticle": "1",
//     "os": "web",
//     "sv": "8.4.6",
//     "app": "CailianpressWeb"
// }

// sign=p(a({}, r))
// console.log(sign)

function get_sign(_r) {
    sign=p(a({}, _r))
    return sign
}

console.log(get_sign())



免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
Quincy379 + 1 + 1 谢谢@Thanks!
hrh123 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
小昆仑 发表于 2025-7-28 22:08
感谢分享
3#
BrutusScipio 发表于 2025-7-28 22:49
4#
yxw1112 发表于 2025-7-29 00:05
5#
891234 发表于 2025-7-29 01:06
感谢分享
太有用了!
6#
OmJJWang 发表于 2025-7-29 09:21
财联社的小作文你也看?影响判断啊
7#
linksss 发表于 2025-7-29 09:27
学习学习
8#
Garphy 发表于 2025-7-29 10:59
学习一下~
9#
mytomsummer 发表于 2025-7-29 11:23
感谢分享学习了
10#
keeeeeen 发表于 2025-7-30 16:27
OmJJWang 发表于 2025-7-29 09:21
财联社的小作文你也看?影响判断啊

不然看哪个?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-1-28 14:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表