当前位置: 首页 > news >正文

【自动化】一共获取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", {

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)
  • springCloud 网关(gateway)配置跨域访问
  • MyBatis中的#{}和${}区别、ResultMap使用、MyBatis常用注解方式、MyBatis动态SQL
  • spark全面个人总结(20个面试点)非网文 持续更新中
  • C语言 ——— 常见的动态内存错误(上篇)
  • Parallels Desktop 19 for Mac 安装虚拟机需要激活吗
  • 在不训练模型的情况下强化语言模型
  • 在idea中的git选择某一次记录拉出一个新分支
  • 软考:软件设计师 — 15.数据结构及算法应用
  • 企业级NoSql数据库Redis集群
  • Go 语言切片(Slice)
  • 结构化克隆算法是啥?
  • GoFly快速开发框架已经全部支持市面上见到的主流数据库
  • 语言基础/单向链表的构建和使用(含Linux中SLIST的解析和使用)
  • 【webpack】wabpack5 常用配置
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JAVA SE 6 GC调优笔记
  • JavaScript中的对象个人分享
  • java小心机(3)| 浅析finalize()
  • Vim Clutch | 面向脚踏板编程……
  • Vim 折腾记
  • 安装python包到指定虚拟环境
  • 从零开始的无人驾驶 1
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 前端面试总结(at, md)
  • 设计模式走一遍---观察者模式
  • 微服务入门【系列视频课程】
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 应用生命周期终极 DevOps 工具包
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 交换综合实验一
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​力扣解法汇总946-验证栈序列
  • # 计算机视觉入门
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • ## 基础知识
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • $.proxy和$.extend
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)Android开发优化---------UI优化
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (六)vue-router+UI组件库
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net core Swagger 过滤部分Api