爬虫(五)-openlaw[通俗易懂]

爬虫(五)-openlaw[通俗易懂]爬虫-openlaw

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

地址:http://openlaw.cn/login.jsp

需要登陆,Form data

爬虫(五)-openlaw[通俗易懂]

 爬虫(五)-openlaw[通俗易懂]

爬虫(五)-openlaw[通俗易懂]

找到_csrf和password,_csrf,在登陆页面

爬虫(五)-openlaw[通俗易懂]

加密password的js代码,ctrl+F搜索password,重新填入input

爬虫(五)-openlaw[通俗易懂]

找到加密函数KeyEncrypt

爬虫(五)-openlaw[通俗易懂]

找到JSEncrypt,CryptoJs

 爬虫(五)-openlaw[通俗易懂]

爬虫(五)-openlaw[通俗易懂]

执行

爬虫(五)-openlaw[通俗易懂]

用execjs执行js或者用js2py

node.js或Jscript报navigator is not define,可以用PhantomJS

#运行时环境设置
import
execjs import execjs.runtime_names os.environ["EXECJS_RUNTIME"] = "PhantomJS" PhantomJS = execjs.get(execjs.runtime_names.PhantomJS) print(execjs.get().name)

爬虫(五)-openlaw[通俗易懂]

结果如图

pytohn执行

#获取csfr
headers={ "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "Accept-Encoding":"gzip,deflate", "Accept-Language":"zh-CN,zh;q=0.9", "Cache-Control":"max-age=0", "Connection":"keep-alive", "Content-Type":"application/x-www-form-urlencoded", "Host":"openlaw.cn", "Upgrade-Insecure-Requests":"1", "User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/537.36", } r=session.get("http://openlaw.cn/login.jsp?",headers=headers1) tree=etree.HTML(r.text) csrf=tree.xpath('//input[@name="_csrf"]/@value')[0]

#post form data post_url
="http://openlaw.cn/login" with open(r"C:\Users576\Desktop3.js",encoding="utf-8")as f: js=f.read() ctx = execjs.compile(js) pwd=ctx.call("keyEncrypt","XXXXXXXX")#密码 data={ "_csrf":csrf, "username":"#########",#账户 "password":pwd, "_spring_security_remember_me":"true", } res=session.post(post_url,data=data,headers=headers)

 tree=etree.HTML(res.text)
 lala=tree.xpath(‘//div[@class=”bbp-user-section”]//text()’)

登陆成功

爬虫(五)-openlaw[通俗易懂]

 

页面

url="http://openlaw.cn/guidance/16444eba67afe97881fa6521d333ef10"
headers1={
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding":"gzip,deflate",
"Accept-Language":"zh-CN,zh;q=0.9",
"Connection":"keep-alive",
"Host":"openlaw.cn",
"Upgrade-Insecure-Requests":"1",
"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/537.36",
}
a=session.get(url,headers=headers1)

是混淆的js

爬虫(五)-openlaw[通俗易懂]

抓包

爬虫(五)-openlaw[通俗易懂]

有二条请求

爬虫(五)-openlaw[通俗易懂]

第一条加cookie,第二条正常,需要知道怎么加的cookie

jjencodeDemo:http://utf-8.jp/public/jjencode.html
],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[
jsfunk:http://www.jsfuck.com/
+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]
゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ [

_
]; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚:

_
,゚ω゚ノ : ((゚ω゚ノ==3) +

_
) [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+

_
)[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +

_
)[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +

_
) [c^_^o];(゚Д゚) [

c
] = ((゚Д゚)+

_
) [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];

代码执行一下或者找工具解密

爬虫(五)-openlaw[通俗易懂]

(function anonymous() {
    if (window.wp1) {
        document.cookie = 'OPEN_E4C0C08491=' + wp3;
        document.cookie = 'OPEN_ID=B32pJOwfO/AJZJ3ZGmnunQNTaUie84jnyHoNCq/onZQ='
    }
}
)

加cookie的部分

爬虫(五)-openlaw[通俗易懂]

爬虫(五)-openlaw[通俗易懂]

js:

var wp1 = 'xKIOt5jUZQcS8wurcX4lghwlET9K0IWBUsS3ZqmSamCBTAPg7Fl5sVr443dyK42p';
var wp2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var wp3 = "548545fe3ced4f3494934e537e304705";
var wp4 = "464acf618bf62df3e7e37e80c2c1a04d";
var wp5 = "0aa9566c4aa30883e34d0e1a530bf508";
var wp6 = "a8f49232d343e4b94ff7958088fa6734";
var wp7 = "82f778b45a9fce8589105c852174947b";
var wp8 = "3221d819c9b96d2631d0b5084c736f69";
if (window.wp1) {
        document.cookie = 'OPEN_E4C0C08491=' + wp3;
        document.cookie = 'OPEN_ID=B32pJOwfO/AJZJ3ZGmnunQNTaUie84jnyHoNCq/onZQ='
    }

var getGlobal = function() {
        if (typeof self !== '') {
            return self
        }
        ;if (typeof window !== '') {
            return window
        }
        ;if (typeof global !== '') {
            return global
        }
        ;throw new Error('unable to locate global object')
    };
function _process(s) {
        var result = s.substring(5, 7).concat('s').concat(s.substring(14, 15)).concat('v').concat(s.substring(9, 13)).concat('g').concat(s.substring(5)).concat('l').concat(s.substring(11, 19));
        return result.substr(0, 32);
    }
    ;var _switch = false;
    if ((getGlobal() === window)) {
        _switch = true
    } else {
        _switch = false
    };
document.cookie
= 'SIGNIN_ID=3e2291010f36c9244c633aba4cdcdd42'; document.cookie = 'SIGNIN_UC=9e65d8fc646e49fb7a0f9f8237915bfb'; document.cookie = 'UNDEFINED=432e9111ecf89746f3046ca970814f41'; if (_switch) { document.cookie = 'OPEN_589D5869B5=' + _process(wp3); setTimeout("location.reload();", 100); }

。。。很多参数不知道哪里来的搞不定了,用selenium

#配置chorme
from
selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') driver = webdriver.Chrome(chrome_options=chrome_options,executable_path = 'D:\python\chromedriver.exe') from time import sleep
#登陆
driver.get("http://openlaw.cn/login.jsp?logout") driver.find_element_by_id("username").send_keys("XXXXXXXXX") driver.find_element_by_id("password").send_keys("XXXXXXXXX") sleep(2) driver.find_element_by_id("submit").click()
#页面数据
driver.get("http://openlaw.cn/guidance/167ce490ba94c3ed26baab5689fdd620") sleep(2) title=driver.find_element_by_xpath('//h1[@class="entry-title"]').text guid=driver.find_element_by_xpath('//div[@class="annotator-wrapper"]/p').text content=driver.find_element_by_xpath('//div[@class="annotator-wrapper"]/p[2]').text page_detail={"title":title,"content":guid+"\n"+content.replace("\u3000"," ")}

结果

爬虫(五)-openlaw[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167992.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python之socket编程

    python之socket编程Socket是什么呢?socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)基本上,Socket是任何一种计算机网络通讯中最基础的内容。例如当你在浏览器地址栏中输入http://…

  • Postman报错Unsupported Media Type

    Postman报错Unsupported Media Type报错信息如下:{“timestamp”:”2018-12-06T01:37:11.184+0000″,”status”:415,”error”:”UnsupportedMediaType”,”message”:”Contenttype’text/plain;charset=UTF-8’notsupported”,”path”:”/testgu/ycyzha…

  • 用js来实现那些数据结构14(树02-AVL树)

    在使用二叉搜索树的时候会出现一个问题,就是树的一条分支会有很多层,而其他的分支却只有几层,就像下面这样:如果数据量够大,那么我们在某条边上进行增删改查的操作时,就会消耗大量的时间。我们花费精力去构

  • java多线程—java线程的创建和线程的生命周期

    java线程的创建和线程的生命周期

  • Matlab fmincon[通俗易懂]

    Matlab fmincon[通俗易懂]fmincon的官方文档fmincon非线性优化

  • 粒子群优化算法的实现方式_matlab粒子群优化算法

    粒子群优化算法的实现方式_matlab粒子群优化算法粒子群优化算法实现容易、精度高、收敛快,在解决实际问题中展示了其优越性。文章目录1算法基本概念2算法的MATLAB实现3粒子群算法的权重控制4混合粒子群算法参考文献1算法基本概念粒子群优化算法属于进化算法的一种,通过追随当前搜索到的最优值来寻找全局最优。粒子群算法也称粒子群优化算法(ParticleSwarmOptimization,PSO),PSO有几个关键概念:粒子、优化函数、适值(FitnessValue)、飞行方向、飞行距离。2算法的MATLAB实现3粒子群算法的权重控

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号