java爬取妹子图整站图片14W张源代码分享
本帖最后由 chen180 于 2019-1-20 11:28 编辑java爬取妹子图整站图片。我只爬取了图片的地址写入到数据库中,并没有下载到本地。
经过测试大概一天左右能爬完,可以挂在服务器上爬。然后最后几页应该是模板的问题,然后没有继续爬,一直报错。不过也不在乎了6.7页懒得修改程序了。
数据库地址:mysql:
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "root";
下载后务必运行v1.5
注意:
jar包运行需要如下条件:
先在c盘根目录下创建一个a.txt文件 别的盘符也行,代码中自己去改路径
然后运行如下代码: 然后在运行jar包。忘了说了
抓取妹子图全部图集地址代码:
package com.cn.utils;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class WriteFile {
public static void main(String[] args) throws Exception {
getURL();
}
public static void getURL() throws Exception {
File file = new File("C:/a.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String flag ="";
Document doc = null;
for(int i = 1; i<207; i++){
System.out.println("准备抓取第" + i+ "页");
String url = "https://www.mzitu.com/page/"+i+"/";
try {
doc = Jsoup.connect(url).get();
Elements lis = doc.select("#pins").select("li");
for(Element li :lis){
flag = li.select("a").get(0).attr("href");
bw.write(flag + "\r\n");
bw.flush();
}
bw.flush();
System.out.println("图集地址抓取完毕");
} catch (IOException e) {
System.out.println("读取失败或写入失败");
e.printStackTrace();
}
}
}
}
萌萌哒的小白 发表于 2019-1-19 23:59
你这个C盘下还需要个a.txt文件,干什么的?怎么配置,我这运行上来就报错
忘了说了。是把所有的图片集的地址放入到C盘a.txt下了,爬取图片的时候读取a.txt中的地址,然后进入图集,爬取图集中的每一个图片,现在C盘根目录下随便创建一个a.txt,然后执行下面代码,然后在执行jar包。
代码:package com.cn.utils;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class WriteFile {
public static void main(String[] args) throws Exception {
getURL();
}
public static void getURL() throws Exception {
File file = new File("C:/a.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String flag ="";
Document doc = null;
for(int i = 1; i<207; i++){
System.out.println("准备抓取第" + i+ "页");
String url = "https://www.mzitu.com/page/"+i+"/";
try {
doc = Jsoup.connect(url).get();
Elements lis = doc.select("#pins").select("li");
for(Element li :lis){
flag = li.select("a").get(0).attr("href");
bw.write(flag + "\r\n");
bw.flush();
}
bw.flush();
System.out.println("图集地址抓取完毕");
} catch (IOException e) {
System.out.println("读取失败或写入失败");
e.printStackTrace();
}
}
}
}
本帖最后由 萌萌哒的小白 于 2019-1-20 00:07 编辑
你这个C盘下还需要个a.txt文件,干什么的?怎么配置,我这运行上来就报错 感谢大神分享 14W的数据呀。。
这个搞下来又得占不少的硬盘。。 日哦,大神,数据库,好难 又要学习了新技术了 身体要不行了啊... 楼主能公布下哪个站的吗~!感谢分享~! 数据库连接是写死的?不可配置?