吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11255|回复: 72
收起左侧

[Java 转载] 利用Java低速爬取妹子图

  [复制链接]
叽叽叽 发表于 2019-9-8 20:54
本帖最后由 叽叽叽 于 2019-12-26 21:49 编辑

此功能是在@chen180 大佬的基础上进行的
首先感谢大佬的指点,下面是该大佬的帖子
https://www.52pojie.cn/forum.php?mod=viewthread&tid=856079&extra=page%3D2%26filter%3Dtypeid%26typeid%3D192

该功能主要使用了Jsoup包
不过代码写得很烂,因为,刚学习到Java爬虫之类的,所以拿取大佬的项目来练手

接下来是低速问题了
由于本人是新手,在构思代码的时候呢,考虑过多线程爬取,不过有关多线程部分写得很烂罢了,因为很慢
因为呢,现在是用三线程去抓取的,用四线程会导致很多图片需要重新下载,都是403的原因,如果有时间的哥们可以慢慢挂着
准确来说我感觉整体的代码都是写得很差
如果有大神能够指点一下就好了




下面是遇到技术性问题时,所解决问题的网站,十分感谢这些大佬的帖子
https://blog.csdn.net/dangerous_fire/article/details/63251212
https://www.jianshu.com/p/c38ddd4259c4
https://www.jianshu.com/p/8f5287bea0f5

对了,如果遇到路径问题的话,可以修改路径,或者创建一下先前路径

希望各位客官不要嫌弃



忘记说了,这个是爬取整个妹子图的
由于本人有洁癖,因此都是分类好的
如果可以的话,来github上围观一下嘛~
https://github.com/aliuselly/java-for-Mzitu
虽然很垃圾

感谢@lilips 的建议!


由于当初没有摸清楚@lilips  的意思,导致乱更新一下,仅以提升300毫秒的速度
不过,现在知道了,将速度变成了350毫秒,因此速度大大提升,不过呢,还是以三线程下载
因为,本人感觉这个样子比较可靠
还有,这次还加入了记录功能,因为,考虑到没有人会一次性下载完成(包括我自己)
因此,加入了配置文件,每次进行读取,然后记录好下载的页数
至于那些妹子图更新的问题(即,有新的图库出现),没有精力去弄了,因为本人还是渣渣
同时,如果弄起来,怀疑要重构(毕竟垃圾代码,扩展性极差。。。)
所以,就这样了
感觉对不起以前下载的网友们,发了一个半吊子作品上来(虽然说现在也还是)
真的还感谢看我帖子的网友们!




应@wangergou 的要求,现在弄下食用方式:
食用方法:
1,首先得保证您的电脑上有Java(去百度如何安装Java即可)
2,首先得保证您得网络是否可以访问上面的所爬取的网站(因为,有些网络无法访问,比如:某些校园网,所爬取网址:
https://www.mzitu.com/)
3,在E盘下创建好   op\爬取  文件夹(或者自己修改源码,自己自定义下载目录)
4,将jsoup.jar包解压(百度jsoup即可,也可在此下载:
https://jsoup.org/),同时也将  最后一次了.7z  给解压了(下面提供下载),将这两解压出来的东西放到同一文件夹下,比如E:\op下(等下我就上传已经编译的版本,即.class文件,直接运行即可,不过也需要Java,不过应该不用下载Jsoup.jar包了吧,毕竟猜想,没试过。。。理论可行吧)
5,打开CMD(win键+R调出运行框,输入CMD即可),切换到您刚才所解压的文件夹下(例如E:\op),进行编译Mz.java(javac Mz.java),然后运行Mz.class(java Mz)。(如果用已经编译的包,解压出来的都为.class文件,不用编译步骤了,直接运行即可)
6,睡个午觉,等待爬取的结束,或者按下Ctrl+C键结束,等下次再次进行爬取(有记录功能)





由于网站升级,导致了429问题
现在已经弄好,但是,爬取速度比原来还要低下
想要效率的同学,可以到这位大佬这里:https://www.52pojie.cn/thread-1068214-1-1.html
感谢支持!
提示1.png
提示2.png

新MZ.7z

2.62 KB, 下载次数: 24, 下载积分: 吾爱币 -1 CB

听@lilips 的建议,修改了等待时间,别下载这个,至于没撤下,是为了感谢!

已经编译好的.7z

5.48 KB, 下载次数: 89, 下载积分: 吾爱币 -1 CB

只想运行,下载这个即可

感谢@wrgwrg 发现的问题,感谢.7z

3.42 KB, 下载次数: 94, 下载积分: 吾爱币 -1 CB

最新,感谢!!!源码请下载这个,是最新的!

免费评分

参与人数 8吾爱币 +7 热心值 +8 收起 理由
gseey + 1 + 1 我很赞同!
不发光的银子 + 1 我很赞同!
1185368544 + 1 + 1 热心回复!
setycyas + 1 + 1 热心回复!
YousYu + 1 + 1 我很赞同!
wangergou + 1 + 1 大哥,能不能出一个教程 咋玩?
路漫漫w + 1 + 1 谢谢@Thanks!
航仔 + 1 + 1 我很赞同!

查看全部评分

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

 楼主| 叽叽叽 发表于 2019-9-22 11:26
wrgwrg 发表于 2019-9-19 13:48
图源地址抓取过程异常!!!
java.io.FileNotFoundException: E:\op\爬取\229\address.txt (系统找不到指定的 ...

你好,感谢发现问题的所在,一开始还以为是网页换了,结果是原来有两种妹子图的网站,我跑去另一边了,很尬尴,问题呢,就是一开始,没事创建好文件的原因,导致写入失败,你可以在WriteURL.java文件中if(!file.exists())中的第一行,即bufw = new BufferedWriter(new FileWriter(file)); 这句的上面加上,parent.mkdirs();  这句话,即可,感谢
lilips 发表于 2019-9-8 22:46
刚用python练习完这个网,它的反爬关键就是要header要有referer,这个可以直接写它首页。
还有一个是下载间隔,0.3秒以上会比较安排安全。你那4线程估计就是超过这个时限所以有403
晨曦的雨 发表于 2019-12-9 20:23
获取图源连接过程出现了异常!
与图源地址连接失败!
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=429, URL=https://www.mzitu.com/198256
        at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:760)
        at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:705)
        at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:295)
        at org.jsoup.helper.HttpConnection.get(HttpConnection.java:284)
        at picture2.DownloadImage.getConnect(DownloadImage.java:122)
        at picture2.DownloadImage.download(DownloadImage.java:52)
        at picture2.DownloadImage.run(DownloadImage.java:33)
        at java.lang.Thread.run(Thread.java:748)

这个咋整
约艾鲁 发表于 2019-9-8 20:57
敢问这是爬取哪里的妹子图啊?
 楼主| 叽叽叽 发表于 2019-9-8 21:03
约艾鲁 发表于 2019-9-8 20:57
敢问这是爬取哪里的妹子图啊?

https://www.mzitu.com/
是这个的妹子图,别见怪啊
linfengtai2008 发表于 2019-9-8 21:04
为啥不爬小哥哥呢
 楼主| 叽叽叽 发表于 2019-9-8 21:05
对了,如果想一编译就成功的话,最好先在E盘下创建op\爬取,或者修改源代码
 楼主| 叽叽叽 发表于 2019-9-8 21:08

有啥网站好介绍一下么
头像被屏蔽
长不大De叔叔 发表于 2019-9-8 21:23
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 叽叽叽 发表于 2019-9-8 21:26
长不大De叔叔 发表于 2019-9-8 21:23
爬的这个目标站  下载来有水印吧?

没错,因为,在网页上的图片是有水印的,这个功能做的紧紧是爬网页上所展示的图片而已
钦差 发表于 2019-9-8 21:29
看不懂 咋用?
jidesheng6 发表于 2019-9-8 21:30
以前也想学java后来面向对象直接劝退,不过感觉java爬虫应该挺心累的吧,然后没有路径可以找找有没有判断路径是否存在的函数,然后再创建,加油楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-19 16:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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