hentaitna图片网怎么下载图片

E-Hentai扒图程序第三版,最终完成版! - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 12时,
大家还记得俺这个为了从E-Hentai扒图才开始学习python的家伙么?
第一版和第二版的程序都有一个毛病,那就是会被网站服务器察觉并且禁止(老是下载“access denied”的图片),气人的很。
我本来打算用那个啥来着,就是可以控制浏览器的某个python库,可是实在是懒得再去学了。
所以这次,我改用网页代理作的中转,效果很好!
使用的代理站是,这个代理站的好处是对网页的修改很小,可以继续使用之前写好的信息抽取规则(页面地址、文件大小、图片地址、图片数量等)
其它的代理站也可以,可以打开一个代理页面看看,如果和上面的页面一样,就可以直接换一下。如果页面不同的话,就需要修改一下了,一个是数据的get、post可能有些不同,另一个是某些网页代理会对页面的代码进行修改(上面的那个站点只单纯的修改链接地址,别的都不变),所以抽取规则也可能变化。
呃,除非程序很长,我木有加注释的习惯,只有在开始弄上一行说明用途的注释(python里就是文档字符串了)
多担待点啊,嘿嘿
代码片段(1)
1.&[代码]代码&&&&
#!user/bin/env python
#-*- coding:utf-8 -*-
import httplib,urllib,urllib2,cookielib
import os,re,sys,time,socket
def ProxyDown(addr,path,proxy=''):
使用网页代理抓取网页
不加密模式:/browse.php?u=[encoded url]&b=4[&f=norefer]
在线代理站:
def GetSize(str):
形如"xxx KB"/"xxx MB"的字符串,返回大约的字节数
mem=str.split(' ')
size=float(mem[0])*1024
if mem[1][0]=='M':size*=1024
return size
#规则:获取图片数量
pile('Showing\s1\s-\s[0-9]+\sof\s([0-9]+)\simages')
#规则:获取目录分页面
pile('&a\shref="([^&&"]*)"&&img[^&&]*&&br[^&&]*&[0-9]+&/a&')
#规则:获取下一页漫画页面
pile('&a\shref="([^&&]*)"&&img\ssrc="[^&&]*"\sstyle="[^&&]*"\s/&&/a&')
#规则:从漫画页面获取图片地址
pile('&a\shref="[^&&]*"&&img\ssrc="([^&&]*)"\sstyle="[^&&]*"\s/&&/a&')
#规则:从漫画页面获取图片大小
pile('&div&.*\s::\s[0-9]+\sx\s[0-9]+\s::\s(.*)&/div&')
#规则:如果存在原始大图,获取其地址
pile('&a\shref="([^&&"]*)"&Download\soriginal')
#规则:如果存在原始大图,获取其大小
pile('Download\soriginal\s[0-9]+\sx\s[0-9]+\s(.*)\ssource')
#设置cookie
cookie_support=urllib2.HTTPCookieProcessor(cookielib.CookieJar())
#设置opener
opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)
#设置header
'User-Agent':'Mozilla/4.0 ( MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)',
'Accept-Language':'zh-CN,q=0.8',
'Accept-Charset':'utf-8;q=0.7,*;q=0.7',
'Host':proxy,
'connection':'keep-alive'}
#网页代理中原网站用GET方式提交
'u':'http://e-hentai.org/bounce_login.php?b=d&bt=1-1',
'f':'norefer'}
#EHentai账号与密码,没有的话删掉这个和下面的登录部分,代价是不能从exhentai下
'ipb_login_password':'XXXX',#填入你的密码
'ipb_login_submit':'Login!',
'ipb_login_username':'XXXX'}#换成你的账户
#开启代理主页面
Url='http://%s/index.php'%(proxy)
req=urllib2.Request(Url,headers=header)
opener.open(req).read()
print unicode('成功打开代理网站!','utf-8')
except urllib2.HTTPError,e:
print unicode('无法打开代理网站 : %s'%(e),'utf-8')
sys.exit(1)
#登录E-Hentai网站
header['Referer']=Url
Url='http://%s/browse.php?%s'%(proxy,urllib.urlencode(query))
req=urllib2.Request(Url,data=urllib.urlencode(login),headers=header)
opener.open(req).read()
print unicode('成功登录绅士(表)!','utf-8')
del query['f']
header['Referer']=Url
query['u']='http://exhentai.org/'
Url='http://%s/browse.php?%s'%(proxy,urllib.urlencode(query))
req=urllib2.Request(Url,headers=header)
opener.open(req).read()
print unicode('成功登录绅士(里)!','utf-8')
except urllib2.HTTPError,e:
print unicode('登录失败 : %s'%(e),'utf-8')
sys.exit(1)
#建立存放目录
path='\\'.join(path.split('\\'))
if not os.path.isdir(path):os.mkdir(path)
path+='\\'
#进入下载循环
#打开目录页面
header['Referer']=Url
query['u']=addr
Url='http://%s/browse.php?%s'%(proxy,urllib.urlencode(query))
req=urllib2.Request(Url,headers=header)
content=opener.open(req).read()
NUM=num.findall(content)
PGE=idx.findall(content)
if NUM and PGE:
NUM=int(NUM[0])
print unicode('共发现 %03d 张图片!'%(NUM),'utf-8')
for i in xrange(NUM):
print unicode('累计10次错误,退出!','utf-8')
sys.exit(1)
header['Referer']=Url
req=urllib2.Request(PGE[0],headers=header)
content=opener.open(req).read()
print unicode('第 %03d 张页面已打开'%(i+1),'utf-8'),
name='%s%03d.jpg'%(path,i+1)
if os.path.isfile(name):
print unicode('图片已经存在','utf-8')
PIC=pic.findall(content)
PSZ=psz.findall(content)
print unicode('--& [高清版] --&','utf-8'),
header['Referer']=Url
query['u']=PIC[0]
req=urllib2.Request(PIC[0],headers=header)
photo=opener.open(req).read()
if float(len(photo))*1.02&GetSize(PSZ[0]):
print unicode('Download Error','utf-8')
time.sleep(5)
print unicode('下载完毕','utf-8')
file=open(name,'wb')
file.write(photo)
file.close()
ADR=adr.findall(content)
DSZ=dsz.findall(content)
print unicode('--& [普通版] --&','utf-8'),
req=urllib2.Request(ADR[0],headers=header)
photo=opener.open(req).read()
if float(len(photo))*1.02&GetSize(DSZ[0]):
print unicode('Download Error','utf-8')
time.sleep(5)
print unicode('下载完毕','utf-8')
file=open(name,'wb')
file.write(photo)
file.close()
print unicode('该页面未找到图片!','utf-8')
Url=PGE[0]
PGE=nxt.findall(content)
print unicode('未找到下一页图片!','utf-8')
time.sleep(5)
except socket.error,e:
print unicode('Socket Error %s'%(e),'utf-8')
time.sleep(5)
except urllib2.URLError,e:
print unicode('URL Error %s'%(e),'utf-8')
time.sleep(5)
except httplib.BadStatusLine,e:
print unicode('Status Error','utf-8')
time.sleep(5)
print unicode('未发现图片!','utf-8')
except urllib2.HTTPError,e:
print unicode('图片下载失败 : %s'%(e),'utf-8')
sys.exit(1)
if __name__=='__main__':
addr=raw_input('Input URL : ')
path=raw_input('Input DIR : ')
addr=unicode(addr,'utf-8')
path=unicode(path,'utf-8')
ProxyDown(addr,path)
开源中国-程序员在线工具:
我前两天也用java写了一个。。。access denied确实很恼火,我最近在想伪造下ip是不是可行,毕竟走代理不太稳定
2楼:袁哲 发表于
另外我抓exhentai,不管是按utf8还是gbk来编码,出来的content全是乱码,LZ知道怎么回事吗?
3楼:刘地 发表于
我用goagent和其他http代理貌似都不行,你可以试试每一个页面换一次代理?
编码不对的话,我就不清楚了,python得到的是已经内部解码了的,可以直接使用,话说exhentai不登陆的话根本就只有一对熊猫啊。
4楼:袁哲 发表于
引用来自“刘地”的评论
我用goagent和其他http代理貌似都不行,你可以试试每一个页面换一次代理?
编码不对的话,我就不清楚了,python得到的是已经内部解码了的,可以直接使用,话说exhentai不登陆的话根本就只有一对熊猫啊。
我知道了。。。我下下来的肯定是那熊猫。。。不管怎么解码都是乱码。。。
5楼:袁国涛 发表于
确定是乱码?不是返回的gzip?另外,做这个事情,aauto挺好,专门做自动化的。
6楼:firefoxmmx 发表于
这个东西,只能走代理了,伪造IP是不可行的, 另外就是所谓的乱码有可能是gz压缩的信息,你可以用gz包解码看看.
7楼:firefoxmmx 发表于
话还说回来楼主和我一样蛋疼啊. 我用JS写了一个VIMPERATOR的 插件.也是下载EH的.哎~~我不知道应该说什么了. 生活就是茶几,我们只不过是上面的杯具.
8楼:rubyist 发表于
几个月前用ruby写过,几乎图片都能抓下来,没有遇到LZ的情况。难道是最近才有的?
9楼:刘地 发表于
引用来自“rubyist”的评论几个月前用ruby写过,几乎图片都能抓下来,没有遇到LZ的情况。难道是最近才有的?我也不清楚,可能和exhentai本身似乎是ruby写的有关(不确定,但它的服务器貌似确实在日本)
10楼:o_olihuO_K 发表于
新手不懂,要怎么用呀。。。
开源从代码分享开始
刘地的其它代码色气满满工口向,绅士hentai看过来 随手系列第一弹 高质量图集-超次元ACG图库
观看历史:
暂无观看历史
画集详细内容
The Album Detail
色气满满工口向,绅士hentai看过来 随手系列第一弹 高质量图集
正在加载。。。
超好玩ACG组
超好玩ACG图库
分辨率计算中...
文件大小计算中...
(103人点赞)
深圳英鹏玩客信息技术有限公司 Copyright &
All Rights Reserved
非常感谢您访问本站,本站视频和图片等内容来自互联网,版权属于原作者。
如有违反您的权益,或您发现有任何不良内容或图片错误,,我们将第一时间修正更改。【hentai_hentai图片_hentai大全_hentai下载】- 翼虎图片素材库
关注微信公众号
掌握第一手设计动态信息
当前选择类别:&
上传hentai大叔
图片-hentai图片
方mmd_hentai
图片-hentai图片
物凄い踊り1_hentai
图片-hentai图片
拜登简直就是二三次元
图片-hentai图片
萝莉控hentai死ね死ね
图片-hentai图片
上传hentai大叔
图片-hentai图片
方百鬼夜行リレー_hentai
图片-hentai图片
东方手书き_hentai
图片-hentai图片
hentaikey看板娘
图片-hentai图片
っきゅん_hentai
图片-hentai图片
hentai_9_con
图片-hentai图片
垂らす日_hentai
图片-hentai图片
ヤ人を目指す霊梦_hentai
图片-hentai图片
桶选手権_hentai
图片-hentai图片
踊ってみた_hentai_9
图片-hentai图片
て欲しいようです_hentai
图片-hentai图片
录仕様配布pv_hentai
图片-hentai图片
毪撙悌1_hentai
图片-hentai图片
》 《变态假面 hentai
图片-hentai图片
上传hentai大叔
图片-hentai图片
变态王子与不笑猫hentai
图片-hentai图片
hentaikey看板娘
图片-hentai图片
ご机嫌大チル1_hentai
图片-hentai图片
神豪族乱舞_hentai
图片-hentai图片
hentai_新浪播客
图片-hentai图片
atoli hentai
图片-hentai图片
おてんば恋娘_hentai_9
图片-hentai图片
te yut te_hentai
图片-hentai图片
图片-hentai图片
《全金属狂潮》热辣同人图集
图片-hentai图片
最近加入 00 hentai
图片-hentai图片
淋淋《我hentai》
图片-hentai图片
最新图片作品
翼虎网——第一数字艺术学习社区
订阅我们, 获得前沿的设计动态和学习推荐!
热门图文教程e-Hentai 一个很简单的小程序,获取 的源代码分析得出图片地址,功能尚不完善,运行情况 WinSock-NDIS 网络编程 238万源代码下载-
&文件名称: e-Hentai
& & & & &&]
&&所属分类:
&&开发工具: Visual Basic
&&文件大小: 2 KB
&&上传时间:
&&下载次数: 3
&&提 供 者:
&详细说明:一个很简单的小程序,获取E-Hentai的源代码分析得出图片地址,功能尚不完善,运行情况和网络状态有关-A very simple little program to get E-Hentai source code analysis drawn picture address, function is not perfect, and the results depend on the network status
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&e-hentai.frm&&e-hentai.vbp
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 微软的ping命令的VC++源代码!比较容易理解
&[] - 一个文件对比器,对比源码存在的不同,方便debug很太吧游戏网,Hentai8动漫游戏官方网站,很太吧地铁笨蛋,变态吧小游戏,Hentai8 我玩过的
>很太吧<专题列表很太吧游戏数:999个很太吧专题介绍:很太吧精彩专题提供很太吧游戏网,Hentai8动漫游戏官方网站,很太吧地铁笨蛋,变态吧小游戏,变态小游戏,Hentai8,很太吧h动漫图片视频等信息热门很太吧
很太吧大全小图模式大图模式
有图有真相
[db:描述]...
大开眼界 1

我要回帖

更多关于 冰雪奇缘hentai图片 的文章

 

随机推荐