吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2710|回复: 15
收起左侧

[求助] 爬取小说如何找到js加密的函数?

[复制链接]
zyhxhw 发表于 2019-12-23 23:02
上次求助了一个小说网站,真实网址请求进,直接给了一个js数据的网页。加密的函数就在其中,这倒也比较好找。这次又碰到了一个奇怪的js加密方式:
https://www.hlxyxs.com/h/17036/8895912.html
这个网页的源代码可以看到部分小说内容
01.jpg
检查元素可以看到全部
02.jpg
抓包时这个包返回小说内容,请求的网址是:https://www.hlxyxs.com/content.php,请求方式是post,试着构造post请求,返回却不是小说内容。
试着下断点找到加密函数,可找来找去弄了半天也没有找到,因而只好求助了。
求助以下问题:
1.这个源码缺失的小说内容在哪儿被还原的
2.如果能找到这个函数,能用python改写吗?

免费评分

参与人数 1热心值 +1 收起 理由
ABU吾爱 + 1 热心回复!

查看全部评分

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

xia8520 发表于 2019-12-23 23:24
curl -H 'x-requested-with: XMLHttpRequest' -H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8' --data-binary "bid=17036&rid=8895912&fid=7719a1c782a1ba91c031a682a0a2f8658209adbf" 'https://www.hlxyxs.com/content.php'

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zyhxhw + 1 + 1 确实如此,想问的是楼主怎么知道headers 要包含那两个?

查看全部评分

WD丶活着 发表于 2019-12-23 23:36
1170 发表于 2019-12-23 23:39
本帖最后由 1170 于 2019-12-23 23:46 编辑

用正则获取网页中的这个 var fid = $.sha1(String(((!![]+!![]+!![])-(+!![]+[]+[])))+(((+!![]+[])+(![]+![]))-(+!![]+[]+[]))); 函数执行js之后得到fid,sha1函数在这里https://www.hlxyxs.com/hlxy/js/jquery.sha1.js, rid和bid在从爬取的连接中获取,然后以data格式post到https://www.hlxyxs.com/content.php就可以得到数据
求求你们别学了 发表于 2019-12-24 00:06
import requests
from lxml import etree
#from fake_useragent import UserAgent

url = 'https://www.hlxyxs.com/h/17036/8895912.html'
ua = UserAgent()
#headers["user-agent"] = ua.random

response = requests.get(url)
response.encoding='utf-8'
novel = etree.HTML(response.text)
novel = novel.xpath('//div[@class="content"]/text()')

print (response.status_code)
print (novel)


这样就行了。只是编码问题,没有啥js加密啊
gamma 发表于 2019-12-24 00:10
厉害了,学习一个
nws0507 发表于 2019-12-24 00:23
爬取的链接源码获取rid bid fid里的$.sha1(String(~~))那一串,sha1函数在https://www.hlxyxs.com/hlxy/js/jquery.sha1.js里。python的话不想解密js  就用execjs直接调用这个js,看起来不难
 楼主| zyhxhw 发表于 2019-12-24 07:29
求求你们别学了 发表于 2019-12-24 00:06
import requests
from lxml import etree
#from fake_useragent import UserAgent

倒是可以运行,但是内容没有获取完。小说最后的内容是:
04.jpg
源代码隐藏了一部分小说内容
 楼主| zyhxhw 发表于 2019-12-24 08:10
xia8520 发表于 2019-12-23 23:24
curl -H 'x-requested-with: XMLHttpRequest' -H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8' --data-bina ...

谢谢,如何用python实现呢,那个地bid,rid,fid好象一个url的地址,但构造地址https://www.hlxyxs.com/content.php?bid=17036&rid=9090604&fid=7719a1c782a1ba91c031a682a0a2f8658209adbf还是不能得到网页的地址。能详细地说说吗?
 楼主| zyhxhw 发表于 2019-12-24 08:14
1170 发表于 2019-12-23 23:39
用正则获取网页中的这个 var fid = $.sha1(String(((!![]+!![]+!![])-(+!![]+[]+[])))+(((+!![]+[])+(![]+! ...

我构造了一个post请求,虽然返回了一个网页,但不是小说内容的。
datas = {'bid' : '17036','rid' : '9090604','fid ': '7719a1c782a1ba91c031a682a0a2f8658209adbf',}
r = requests.post('https://www.hlxyxs.com/content.php',data=datas)
r.encoding = 'utf-8'
print(r.text)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-27 00:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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