tuwan(兔玩)全站妹子图爬虫可多窗口

前言

兔玩是一个非常不错的妹子图网站,跟曾经的PR社有异曲同工之处,花少量的钱可以看Coser的图片,但是tuwan的妹子还是很正经的哟~

兔玩官网 tuwanjun.com

以下是网站截图

tuwan

兔玩的更新速度还是不错的呢~

破解

看到官网的套图打开后,一般是有几张可以看得图,也有一堆尺寸小的预览图,地址很相似,例如这张

http://img4.tuwandata.com/v3/thumb/jpg/YjAzYiwxNTgsMTU4LDksMywxLC0xLE5PTkUsLCw5MA==/u/GLDM9lMIBglnFv7YKftLBuvzpwYbEIoBh8ap84BsgXdniTdx80UqsXLdP5yaJZklUj09PvGO8IYpAC3nOanE0EHpB9bCnRKUnvdbAJH6CcXC.jpg

YjAzYiwxNTgsMTU4LDksMywxLC0xLE5PTkUsLCw5MA==这一串很容易看的出是base64加密过的串,经过解密获得

base64.b64decode(imgurl)
 # b03b,158,158,9,3,1,-1,NONE,,,90

这里的158,158就是缩略图的尺寸了,我们尝试修改缩略图尺寸然后在base64加密后就可以取得地址,经过尝试,修改为 0,0即可还原原图尺寸~

base64.b64encode(base64.b64decode(imgurl.encode('utf-8')).replace('158','0'))
 # YjAzYiwwLDAsOSwzLDEsLTEsTk9ORSwsLDkw

组合成原图地址:

http://img4.tuwandata.com/v3/thumb/jpg/YjAzYiwwLDAsOSwzLDEsLTEsTk9ORSwsLDkw/u/GLDM9lMIBglnFv7YKftLBuvzpwYbEIoBh8ap84BsgXdniTdx80UqsXLdP5yaJZklUj09PvGO8IYpAC3nOanE0EHpB9bCnRKUnvdbAJH6CcXC.jpg

下载

 # -*- coding: utf-8 -*-
import requests
import json
import base64
import sys
import os
class Tuwan:
def getData(self,url):
headers = {
"Host": "api.tuwan.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0",
"Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Accept-Encoding": "gzip, deflate",
"Connection": "keep-alive"
}
response = requests.get(url,headers=headers)
pageData = response.text.strip()[1:-1]
pageData = json.loads(pageData)
title = pageData['title']
total = pageData['total']
imgData = pageData['thumb']
for i in range(len(imgData)):
imgData[i] = imgData[i].split('/')
imgData[i][6] = base64.b64encode(base64.b64decode(imgData[i][6].encode('utf-8')).replace('158','0'))
joinstr = '/'
str = joinstr.join(imgData[i])
imgData[i] = str
tuwan.downImg(title,total,imgData)
def downImg(self,title,total,imgData):
print ('当前图包:%s 共 %s 张'%(title,total))
isExists = os.path.exists('./'+title)
if not isExists:
os.makedirs('./'+title)
else:
print '当前资源已存在,自动跳过'
return
for i in range(len(imgData)):
try:
print ('正在下载第 %s 张' % i)
r = requests.get(imgData[i])
except Exception, e:
print "图片获取失败"
return
with open('./%s/[20FA]_%s.jpg'%(title,i+1), 'wb') as f:
f.write(r.content)
return
if __name__ == '__main__':
reload(sys)
sys.setdefaultencoding('utf8')
tuwan = Tuwan()
print ('本程序由20发福利资源网提供 https://www.20fa.club')
print ('请输入起始ID')
startId = int(input())
print ('请输入结束ID')
endId = int(input())
while startId < endId:
try:
url = 'https://api.tuwan.com/apps/Welfare/detail?id=%s'%startId
tuwan.getData(url)
startId = startId + 1
except Exception as e:
print ('当前ID错误:%s'% startId)
print e
## 本程序 来源于 20发福利资源网,请您在使用或者转载时保留出处,不要删除本行!

1500~1600

提取码:nak3,解压码:20fa.com

下载
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
9 条回复 A 作者 M 管理员
  1. 作为程序小白的完全看不懂怎么破解的,唉。。。。。可惜了

  2. 是复制到TXT文件里,然后改成什么格式呢?我改成BAT和REG都进不去运行窗口

    • 修改成.py格式,注意缩进,电脑需要安装Python环境以及requests

    • 我已经按照这个思路用java写了一个,不过id可以跑的范围不止这些

    • 我上面给的只是个演示,可以跑的ID可以从他们官网看一下,官网首页大概是1800左右的居多

  3. 有点牛掰。。。可是我的电脑现在搞不起爬虫

  4. 我能爬本站的链接吗

  5. 如果有喜欢折腾的,以后有空我会多发几个爬虫,自给自足,满速下载