python3 15行代码爬取煎蛋网大图(原图)--基础逆向破解js-------------------玉米都督

如果您觉得我的文章对您有用,请您给我一个关注,您的每一个关注都是对我极大的支持,我也会极大的提高产出效率,To_share_code

做爬虫 基本功就是逆向js,

ps: 其实没必要关心js函数的内部细节,只要找到函数的输入输出点就可以了。

万变不离其宗,只要在 输入、输出的地方下断点,得到处理的结果,就算函数再复杂也不用怕。

煎蛋网是一个初学者接触逆向js思路的首战

上网站: 煎蛋网 妹子图

妹子首页

目的:想拿 查看原图的  高清原图
查看源码

发现所有图片img src指向是  blank.gif

后面还有一个onload = 'jiandan_load_img(this)'   然后 还有一堆字母

我们定位到jiandan_onload_img  这个js

打个断点  debugger 

发现这个e  和之前看的 html中的  非常像.  而且这个e  作为参数 传进了一个 jdXXXXXXXXXXXXX的 函数中

咱们再追溯到jdXXXXXXXX函数中

打个断点继续调试

发现这个函数最后return u   

u = base64_decode(d)

d = 之前咱们在html 中的 一串英文字母

所以,我们只需把 html页面的英文字母用base64  解码 就可以得到原图的src地址了

上代码

#!/usr/bin/python
# _*_ coding:utf-8 _*_
import base64
import requests
from bs4 import BeautifulSoup
url = 'http://jandan.net/ooxx'
large_url = 'http://ws4.sinaimg.cn/large/'   #大图url
response =requests.get(url=url) # html
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text,'lxml')
for i in soup.select('.img-hash'):
    link = base64.b64decode(i.text.encode('utf-8'))
    base_link = str(link,'utf-8').split('/')[-1]
    large_link = large_url+base_link
    print(large_link)

算上注释15行  

运行后输出

点击访问

前方高能!!!!!!!!!!!!!!!!!

http://ws4.sinaimg.cn/large/87a8e3e8ly1fv7vgxm8a5j20zk1hcti8.jpg

猜你喜欢

转载自blog.csdn.net/qq_39443687/article/details/82687525