[Java] 【分享】Java爬虫

news/2024/11/16 3:15:36/

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)

 

捕获2.PNG


http://www.ppmy.cn/news/796667.html

相关文章

学习进度报告【第二周】

总体而言这周没有荒废&#xff0c;学习了很多新东西。   这周主要做的有&#xff1a; 机器学习博客地址&#xff1a; [Python机器学习]鸢尾花分类 机器学习应用[Python机器学习]机器学习概述[Python]PyCharm中%matplotlib inline报错[Python]scatter_matrix报错 module panda…

送书 | 《Python3爬虫实战——数据清洗、数据分析与可视化》

又到了每周三的送书时刻啦&#xff01;今天给大家带来的是《Python3爬虫实战——数据清洗、数据分析与可视化》 &#xff08;文末查看送书规则&#xff09;

Python正则表达式03

1.提取省市全称 import repattern r^(.*?(?:省|自治区|维吾尔族自治区|壮族自治区|回族自治区))(.*?(?:市|州|盟)) file_names ["浙江省舟山市", "云南省西双版纳州", "新疆维吾尔族自治区伊犁州", "内蒙古自治区阿拉善盟",&quo…

Python自动化小技巧11——excel文件的文字内容筛选

上一期讲述了怎么讲多个excel多sheet表进行批量合并&#xff0c;本次案例就是来讲讲合并之后对数据进行清洗整理的过程&#xff0c;筛掉无用的数据。 这个案例中博主是处理文本&#xff0c;主要是各大平台上的新闻的文字。筛选就是把那些无用的主题的新闻给去掉&#xff0c;我…

写个python,爬行【游明星空】的壁纸(5)

前文摘要/本文内容&#xff1a; 好的&#xff0c;我们已经把爬虫的脚本写出来了&#xff0c;写完之后&#xff0c;我们去执行&#xff0c;发现&#xff0c;实际上&#xff0c;在很多细节上&#xff0c;它并不是很好&#xff0c;正所谓&#xff0c;先实现产品功能&#xff0c;再…

下载游民的壁纸

# -*- coding: utf-8 -*-""" http://www.gamersky.com/news/201309/297991.shtml """import urllib2 import urllib import re import string""" param url:壁纸首页 param begin:壁纸起始页 param end:壁纸终止页 ""&…

我调用第三方接口遇到的13大坑

前言 在实际工作中&#xff0c;我们经常需要在项目中调用第三方API接口&#xff0c;获取数据&#xff0c;或者上报数据&#xff0c;进行数据交换和通信。 那么&#xff0c;调用第三方API接口会遇到哪些问题&#xff1f;如何解决这些问题呢&#xff1f; 这篇文章就跟大家一起…

培训报名小程序报名列表页开发

目录 1 创建页面2 组件搭建3 设置URL参数4 设置筛选条件5 首页跳转6 最终的效果总结 这节我们来开发报名列表功能&#xff0c;先看原型 1 创建页面 功能要在页面上呈现&#xff0c;需要先创建页面。打开我们的培训报名小程序&#xff0c;在页面区&#xff0c;点击创建页面的…