(1).创建1个java类文件,Spider.java
import java.io.IOException;
public class Spider {
public static void main(String[] args) {
// 设置范围值
int minId = 1;
int maxId = 4704554;
// 设置换行符
String eol = System.getProperty("line.separator");
// 永远执行
while (true) {
try {
// 生成随机Id
int num = minId + (int) (Math.random() * (maxId - minId + 1));
// 生成文章地址
String url = "https://www.gaojiufeng.cn/?id=" + num;
// 生成执行命令
String cmd = "google-chrome-stable --headless --disable-gpu --window-size=1920x1080 " + url;
// 执行命令
Runtime.getRuntime().exec(cmd);
// 输出信息
System.out.println("当前同步文档Id:" + num + eol);
// CPU休息
Thread.sleep(1000 * 15);
} catch (IOException | InterruptedException ioException) {
System.out.println(ioException.getMessage() + eol);
}
}
}
}
(2).编译生成class文件
javac -encoding UTF-8 Spider.java
(3).创建jar包的清单文件MANIFEST.MF,内容如下:(主要为了设置主类,不然程序不知道如何启动)
Manifest-Version: 1.0
Main-Class: Spider
(4).将清单文件和类合并生成jar文件
jar -cvfm spider.jar MANIFEST.MF .\Spider.class
生成一个spider.jar文件
(5).运行测试
java -jar .\spider.jar
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=189rcn1vuzt4z
java限制1个方法同一时间只能被一个线程访问public synchronized void setOrderPay(){ }加上synchronized 修饰符即可...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
(1).创建数组double[] myList = new double[size]; //推荐创建方式 double myList[] = new double[size];  ...
(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...
假如有个字符串为"fatcatfatcatfat",正则为“cat”当调用appendReplacement(sb, "dog")时appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第...
(7).java方法重载一个类的两个方法拥有相同的名字,但是有不同的参数列表,叫做方法重载,例如public static int sum(int a, int b) { retur...