煎蛋妹子图爬图工具

2013-08-28 10:23:01 +08:00
 cxshun
之前有朋友推荐了煎蛋这个网站的妹子图,想到肯定有一大堆同志在邪恶这些图片的,于是就有想法想写一个爬图片的工具。
拖延症有点伤不起,这段时间一直没什么心思,回去都在玩游戏,只能在上班时间,抽点时间搞定了。
代码放在github里面。注释都还蛮清楚的,不多说,同志们自己看代码。执行一下就会爬了,注意,爬图的时间适合调整一下,小心被屏蔽IP哦。同志们也要保重身体啊。哈哈!
github代码地址:
https://github.com/cxshun/jiandan-xxoo-crawler

请注意:代码用python搞定,要使用lxml第三方组件。同志们有bug要记得反馈啊,哈哈。
12522 次点击
所在节点    分享创造
26 条回复
blahnice
2013-08-28 10:55:14 +08:00
py3,oh holy christ
gangsta
2013-08-28 11:00:27 +08:00
+1

以前见过Java版的
cxshun
2013-08-28 11:06:05 +08:00
@blahnice py3咋了?是很多组件还不支持还是很不爽它?以前用py2,但最近慢慢过度到py3了。感觉py3还是比py2好多了,py2的编码问题搞的头都大了。
blahnice
2013-08-28 11:20:25 +08:00
@cxshun 只是建议需要在帖子中说明下,毕竟现在外界默认使用的还是非py3.
py3一个大版本不兼容,很多库没跟上直接导致没有使用的欲望。
justfindu
2013-08-28 11:27:43 +08:00
别啊~ 煎蛋最近总是崩溃~ 这样会增加很大压力啊亲 - -
greatghoul
2013-08-28 11:31:10 +08:00
煎蛋妹子图不错呀,赶紧去访问下。
cxshun
2013-08-28 11:44:00 +08:00
@blahnice 确实,我加上了提醒。

@justfindu 哈哈,只是发出来而已。我加上了说明。其实只是访问网页而已,煎蛋的图源貌似都在渣浪,所以这个应该问题不大。把访问网页的时间设长一点,应该就OK了。但爬图片毕竟不是正事,不能搞太久。

@greatghoul 哈哈,确实啊。但XD要注意身体啊。
@gangsta JAVA版本的实现起来麻烦很多,虽然库大把,还是python好啊。人生苦短啊。
Hysteria
2013-08-28 12:25:52 +08:00
煎蛋网果真不错,刚好好浏览了一番。
fengdragon
2013-08-28 12:41:47 +08:00
python2.6下的,使用库urllib,re

https://gist.github.com/fengdragon/6362155

在网页上抓出来的每张图都几十K是正常的么?还是有高清的。。。
直接用urlretrieve下的,刚开始学python,也没并行,一页页的拖下来的 ==

26行的time.sleep是因为urlretrieve先建空白再填图,网速顿的话图的下沿有黑边。
自己看网速改吧就
cxshun
2013-08-28 14:27:59 +08:00
@fengdragon 不错,实际上处理起来倒不麻烦。但这样会把头像啥的都会取下来吧。另外,没有保存队列啥东西的。如果中途断了就比较杯具了。话说代码中为啥要限定页数呢,1-911,看来XD很久之前写的哦,不错啊。
@Hysteria 哈哈,必须不错啊。但不可看太多,伤身也。
fengdragon
2013-08-28 15:05:40 +08:00
@cxshun 取图没问题,头像不会爬,正则匹配过而且也加了超时判定,
只是代码太丑了还那么多sleep,我都不好意思看的再 = =

嗯,断了确实就悲剧了。我这网速比较稳定就没加处理(其实是不会。。
加页数限制也是因为还不会抓最大页数。。。。汗。。
cxshun
2013-08-28 15:19:55 +08:00
@fengdragon 代码不错啊。其实我比你多的东西就是多了一个保存队列,也多了一堆配置和恢复的东西而已。反正原理就那样。爬图本来就没多少含量,当练练手罢了。
Loerise
2013-08-28 16:54:39 +08:00
等待微博爬相册工具~
volCANo
2013-08-28 19:30:18 +08:00
微信摇一摇抓图不就好了嘛
Alexisused
2013-08-31 12:43:42 +08:00
哈哈 你果然搞出来了啊~
aisk
2013-08-31 12:46:26 +08:00
sophy
2013-08-31 14:38:39 +08:00
@aisk 感谢默默送上
jason52
2013-08-31 21:48:57 +08:00
我这个短~~用了pyquery

http://dpaste.com/1361816/
SharkIng
2013-08-31 21:56:20 +08:00
py3的确比较失败,库比较脱节所以很少人用,用的话也很不好找到支持的平台
jason52
2013-08-31 21:56:43 +08:00
from pyquery import PyQuery as pq
import time


fp=open("meizhitu.txt",'w')
for i in range(800,990):
url = 'http://jandan.net/ooxx/page-' + str(i)


d1 = pq(url)

posts = []

for anchor in d1('#comments p>img'):
anchor = d1(anchor)
ans = anchor.attr('src')
posts.append(ans)
print >>fp,ans
print i
#if (i%10 == 0):
#time.sleep(5)
fp.close

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX