爬虫(五)-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:\Users\37576\Desktop\123.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[通俗易懂]

 

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

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

(0)
上一篇 2022年8月4日 上午10:00
下一篇 2022年8月4日 上午10:16


相关推荐

  • 配置EPEL 源

    配置EPEL 源EPEL ExtraPackage 是由 FedoraSpecia 为企业 Linux 创建 维护和管理的一个高质量附加包集合 适用于但不仅限于 RedHatEnterp RHEL CentOS ScientificLi SL OracleLinux OL 我

    2026年3月18日
    2
  • 局域网制作ftp服务器,如何架设内网ftp服务器 搭建ftp yum源

    局域网制作ftp服务器,如何架设内网ftp服务器 搭建ftp yum源1 启动系统 我是用 iso 镜像挂载 挂载到 isomkdir isomount a tiso9660 oloop dev cdrom iso2 安装 FTP 服务 如果系统已带则在桌面管理 服务器设置 服务可以很方便的启动 vsftpd 服务 cd iso Packagesrpm ivhvsftpd chkconfigvsf

    2026年3月19日
    2
  • 浅谈MFCC

    MFCC(Mel-frequencycepstralcoefficients):梅尔频率倒谱系数。梅尔频率是基于人耳听觉特性提出来的,它与Hz频率成非线性对应关系。梅尔频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。主要用于语音数据特征提取和降低运算维度。例如:对于一帧有512维(采样点)数据,经过MFCC后可以提取出最重要的40维(一般而言)数据同时也达到了将维

    2022年4月4日
    262
  • 月之暗面迎来一名女总裁

    月之暗面迎来一名女总裁

    2026年3月12日
    3
  • ubuntu安装wget命令_linux bash命令

    ubuntu安装wget命令_linux bash命令我们先安装linux系统比如centos7.1里面有的就没有wget下载工具。wget这个命令就不可以使用。我们使用yum-yinstallwgetyuminstallperl会出现:[root@localhost~]#yum-yinstallwgetLoadedplugins:fastestmirrorRepodataisoverweeksold.Instal…

    2022年10月16日
    6
  • hadoop是什么意思_hadoop三大组件

    hadoop是什么意思_hadoop三大组件Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。[1]Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthro

    2022年9月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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