【自动化】一共获取6600多公司信息【逆向】一页15还加密。

2024-08-27 03:52

本文主要是介绍【自动化】一共获取6600多公司信息【逆向】一页15还加密。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、【逆向】一页15还加密。

二、【自动化】一共获取6600多公司信息

三、对于两种方式我喜欢第二种自动化

from DrissionPage import ChromiumPage, ChromiumOptions
import time
# chrome:version
co = ChromiumOptions().set_paths(browser_path=r"C:\Users\lenovo\AppData\Local\Google\Chrome\Application\chrome.exe")
page = ChromiumPage(co)page.get("https://www.kanzhun.com/search/?query=%E5%85%AC%E5%8F%B8&type=0")
page.ele('x://div[@class="btn-link"]').click()
time.sleep(1)result = []
times = 0
i=0
for j in range(50):print(f"已滑动{i}次了")page.run_js('setInterval(function(){window.scrollBy(0,100)},100)')i+=1len_result = len(result)print(f"公司总数为{len_result}")for tag in page.eles('x://div[@class="list-item"]',timeout=5):title = tag.ele('x://div[@class="middle"]/a').textdec = tag.ele('x://div[@class="middle"]/div[@class="desc"]').textbusiness_info=tag.ele('x://div[@class="business-info"]').texturl= tag.ele('x://a[@class="title"]').attr('href')print(title,dec,business_info,url)result.append(url)newlen_result = len(result)if newlen_result==len_result:times += 1else:times=0if times>5:print("已加载完毕")break

四、【逆向】一页15还加密。

1.通过断点调试获得B KIV参数

const fs = require('./js2.js')
const CryptoJS = require('crypto-js')
window = global;
var zy;
!function(i) {"use strict";var e, t, n, r, o, i = {}, u = {};function c(e) {var t = u[e];if (void 0 !== t)return t.exports;var n = u[e] = {id: e,loaded: !1,exports: {}};return i[e].call(n.exports, n, n.exports, c),n.loaded = !0,n.exports}zy = cc.m = i,c.amdO = {},e = [],c.O = function(t, n, r, o) {if (!n) {var i = 1 / 0;for (l = 0; l < e.length; l++) {n = e[l][0],r = e[l][1],o = e[l][2];for (var u = !0, f = 0; f < n.length; f++)(!1 & o || i >= o) && Object.keys(c.O).every((function(e) {return c.O[e](n[f])})) ? n.splice(f--, 1) : (u = !1,o < i && (i = o));if (u) {e.splice(l--, 1);var a = r();void 0 !== a && (t = a)}}return t}o = o || 0;for (var l = e.length; l > 0 && e[l - 1][2] > o; l--)e[l] = e[l - 1];e[l] = [n, r, o]},c.n = function(e) {var t = e && e.__esModule ? function() {return e.default}: function() {return e};return c.d(t, {a: t}),t},n = Object.getPrototypeOf ? function(e) {return Object.getPrototypeOf(e)}: function(e) {return e.__proto__},c.t = function(e, r) {if (1 & r && (e = this(e)),8 & r)return e;if ("object" == typeof e && e) {if (4 & r && e.__esModule)return e;if (16 & r && "function" == typeof e.then)return e}var o = Object.create(null);c.r(o);var i = {};t = t || [null, n({}), n([]), n(n)];for (var u = 2 & r && e; "object" == typeof u && !~t.indexOf(u); u = n(u))Object.getOwnPropertyNames(u).forEach((function(t) {i[t] = function() {return e[t]}}));return i.default = function() {return e},c.d(o, i),o},c.d = function(e, t) {for (var n in t)c.o(t, n) && !c.o(e, n) && Object.defineProperty(e, n, {enumerable: !0,get: t[n]})},c.f = {},c.e = function(e) {return Promise.all(Object.keys(c.f).reduce((function(t, n) {return c.f[n](e, t),t}), []))},c.u = function(e) {return "js/" + {189: "wangeditor",536: "vod-js-sdk-v6"}[e] + "-" + {189: "5e0d5d",536: "a04632"}[e] + ".js"},c.miniCssF = function(e) {},c.g = function() {if ("object" == typeof globalThis)return globalThis;try {return this || new Function("return this")()} catch (e) {if ("object" == typeof window)return window}}(),c.o = function(e, t) {return Object.prototype.hasOwnProperty.call(e, t)},r = {},o = "kz-ssr-pc:",c.l = function(e, t, n, i) {if (r[e])r[e].push(t);else {var u, f;if (void 0 !== n)for (var a = document.getElementsByTagName("script"), l = 0; l < a.length; l++) {var s = a[l];if (s.getAttribute("src") == e || s.getAttribute("data-webpack") == o + n) {u = s;break}}u || (f = !0,(u = document.createElement("script")).charset = "utf-8",u.timeout = 120,c.nc && u.setAttribute("nonce", c.nc),u.setAttribute("data-webpack", o + n),u.src = e),r[e] = [t];var d = function(t, n) {u.onerror = u.onload = null,clearTimeout(p);var o = r[e];if (delete r[e],u.parentNode && u.parentNode.removeChild(u),o && o.forEach((function(e) {return e(n)})),t)return t(n)}, p = setTimeout(d.bind(null, void 0, {type: "timeout",target: u}), 12e4);u.onerror = d.bind(null, u.onerror),u.onload = d.bind(null, u.onload),f && document.head.appendChild(u)}},c.r = function(e) {"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}),Object.defineProperty(e, "__esModule", {

这篇关于【自动化】一共获取6600多公司信息【逆向】一页15还加密。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110560

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

创业者该如何设计公司的股权架构

本文来自七八点联合IT橘子和车库咖啡的一系列关于设计公司股权结构的讲座。 主讲人何德文: 在公司发展的不同阶段,创业者都会面临公司股权架构设计问题: 1.合伙人合伙创业第一天,就会面临股权架构设计问题(合伙人股权设计); 2.公司早期要引入天使资金,会面临股权架构设计问题(天使融资); 3.公司有三五十号人,要激励中层管理与重要技术人员和公司长期走下去,会面临股权架构设计问题(员工股权激