Java爬虫合集

刚刚学习爬虫,把自己学习写的代码分享一下,都放在一个项目里面了,每个包里都是不同的爬虫小demo

爬取的内容:
                           嘀哩嘀哩网站图片的
                           游民星空图库壁纸
                           ACG壁纸
                           爬取QQ音乐
                           还有美女写真
                              
                       界面就随便写下。。。。

在贴一点代码

// 解析网页public void ParseHtml(int sin,List<String> pagelinks,File dirs) throws IOException {// 遍历每个页码的链接for (String pagelink : pagelinks) {Document doc = Jsoup.connect(pagelink).header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36").get();// 得到需要的条目的链接Elements itemlinks = doc.select("tr td h3 a[href^=htm]");// 遍历每个条目for (Element itemlink : itemlinks) {// 创建线程 重写run方法 进入每个条目的链接Thread t = new Thread() {@Overridepublic void run() {try {String hrefs = itemlink.absUrl("href");Document imgdoc = Jsoup.connect(hrefs).header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36").get();// 根据网页情况获得h1标签Element h1;h1 = imgdoc.selectFirst("div h1");if (h1 == null)h1 = imgdoc.selectFirst("h1#subject_tpc");// 得到图片或小说或电影的标题String name = h1.text();// 得到图片Elements imgs = imgdoc.select("div.tpc_content img");// 得到下载链接Element links = imgdoc.selectFirst("div.tpc_content a[href^=http://www3.uptorrentfilespace]");// 得到小说正文Element body ;if (sin == 1) {// 用来保存图片链接ArrayList<String> arr = new ArrayList<String>();/** 判断进入不同的保存文件的方法 1.如果图片和链接都不为空,说明是电影* 2.如果1的条件不通过,判断图片是否为空,如果不为空,说明是图片* */if (imgs != null && links != null) {for (Element img : imgs) {String link = img.absUrl("src");arr.add(link);System.out.println("获得第" + i++ + "条链接-----" + link);}String text = links.text();download(name, arr, text,dirs);} else {for (Element img : imgs) {String link = img.absUrl("src");arr.add(link);System.out.println("获得第" + i++ + "条链接-----" + link);}download(name, arr,dirs);}}if (sin == 2) {body = imgdoc.selectFirst("div.tpc_content");// 去除小说中的<br>标签,并加上换行String text = body.toString().replaceAll("<br>", "\\n");// 开线程去保存小说new Thread() {public void run() {try {File dir = new File("D://download1//小说//" + name);if (!dir.exists())dir.mkdirs();BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(dir, "小说.txt")));bos.write(text.getBytes());bos.close();System.out.println("下载成功 : " + dir);} catch (Exception e) {// TODO Auto-generated catch block//e.printStackTrace();}};}.start();}} catch (Exception e) {// TODO Auto-generated catch block//e.printStackTrace();}}};// 通过线程池动态控制 执行创建的线程service.execute(t);}}
其他的代码下载项目看吧
其实里面是有福利的   但是要自己发掘

链接:https://pan.baidu.com/s/1zW1wRMyP2etiLvfnfASIgw 密码:8ent

捕获2.PNG (14.23 KB, 下载次数: 4)

[Java] 【分享】Java爬虫相关推荐

  1. 好程序员Java分享Java案例_英汉字典

    在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例:      实现功能: ...

  2. java 爬取 豆瓣_谁说Java不能搞爬虫,哥带你一起爬取豆瓣电影Top250

    我命由我不由天,我今天就自己来试试看,看看Java写个爬虫是有多费劲?看懂的朋友别忘记给我个哈,毕竟我是堵上了咱们Java程序员的在奋战!奥利给!我们先来分析一下这个网页,看看哪些数据比较有价值.我们 ...

  3. Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索

    Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...

  4. hibernate savealiasentity 保存后id为空_好程序员Java教程分享Java面试题之Hibernate

    好程序员Java教程分享Java面试题之Hibernate 1.简书一下Hibernated的开发流程 第一步:加载Hibernate的配置文件,读取配置文件的参数, 第二步:创建SessionFac ...

  5. java 使用webmagic 爬虫框架爬取博客园数据

    java 使用webmagic 爬虫框架爬取博客园数据存入数据库 学习记录   webmagic简介: WebMagic是一个简单灵活的Java爬虫框架.你可以快速开发出一个高效.易维护的爬虫. ht ...

  6. java str2date,java date类与string类实例代码分享

    Date类用来指定日期和时间,其构造函数及常用方法如下: publicDate() 从当前时间构造日期时间对象. publicStringtoString() 转换成字符串. publiclongge ...

  7. 好程序员Java分享SQL语言之索引

    好程序员Java分享SQL语言之索引,前言:本章我们将学习MySQL中的索引,本文将从索引的作用.索引的分类.创建索引的语法.索引的使用策略以及索引的实现原理等方面带大家了解索引. 索引的作用 索引的 ...

  8. 玩C一定用得到的19款Java开源Web爬虫

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...

  9. 零基础写Java知乎爬虫之进阶篇

    转载自 零基础写Java知乎爬虫之进阶篇 前面几篇文章,我们都是简单的实现了java爬虫抓取内容的问题,那么如果遇到复杂情况,我们还能继续那么做吗?答案当然是否定的,之前的仅仅是入门篇,都是些基础知识 ...

  10. java 保留html_好程序员Java培训分享Java包是什么?

    好程序员Java培训分享Java包是什么?在Java中的包是一种封装一组类.子包和接口的机制,可用于组织一组相关的类和接口.从概念上讲,我们可以将包视为类似与计算机上的不同文件夹:可以将HTML页面保 ...

最新文章

  1. 背包系列 hdu3449 有依赖背包
  2. 计算机进位计数制实训课教案,《计算机应用基础》职高2010修订版 教案.doc
  3. MySQL(四)字段及常用函数
  4. php年龄查询表单设计,PHP 处理表单
  5. C语言代码规范(九)运算符优先级使用括号提高阅读性
  6. 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
  7. oracle12537错误,ORA-12537:TNS:connection closed错误处理方法
  8. java struts 框架_java中struts 框架的实现
  9. golang package 是什么意思?一份来自初学者的golang package体验指南
  10. 使命召唤ol服务器位置,服务器架构升级 使命召唤OL跨区作战时代来临!
  11. java socket返回_java中用Socket向ServerSocket发送信息,ServerSocket用接收到的Socket返回一条信息,但是返回时报错......
  12. Tensorflow Data Adapter Error: ValueError: Failed to find data adapter that can handle input
  13. 树莓派安装smbus_树莓派安装wiringPi,BCM2835,以及python的RPI.GPIO
  14. 固定日历 jeDate 日期控件 选择时间,没有相应的回调事件
  15. 自动阅读行业又出新招?离线阅读脚本套路满满
  16. gpt分区android系统备份,OBR一键还原备份系统WINPE专用v2.166版支持GPT分区UEFI
  17. Css3之画五角星跟六角星
  18. 【JZOJ】【卡特兰数】【高精】WZK打雪仗
  19. 生产docker run 卡住没反应故障排查思路
  20. nodejs--process

热门文章

  1. 使用python进行图片的文字识别
  2. linux修改 /etc/ld.so.conf 后,不生效
  3. common conj
  4. matlab conj 符号,英语conj大全,matlab去掉conj
  5. 测试方向基础-多线程知识和常见示例
  6. 【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose
  7. 如何看linux是32位还是64位
  8. 机器学习工作站_2020年最佳机器学习工作站
  9. 【C#食谱】【面食】菜单7:用默认值初始化泛型变量
  10. CoverM 相对丰度计算方法分析