System.getProperty()
- 通过System.getProperty()方法可以获取系统的配置信息(多少位系统)
public class SystemPropertyTest {
public static void main(String[] args) {
String[] keys = { "java.version", "java.vendor", "java.vendor.url", "java.home",
"java.vm.specification.version", "java.vm.specification.vendor", "java.vm.specification.name",
"java.vm.version", "java.vm.vendor", "java.vm.name", "java.specification.version",
"java.specification.vendor", "java.specification.name", "java.class.version", "java.class.path",
"java.library.path", "java.io.tmpdir", "java.compiler", "java.ext.dirs", "os.name", "os.arch",
"os.version", "file.separator", "path.separator", "line.separator", "user.name", "user.home",
"user.dir" };
for (String key : keys) {
String value = System.getProperty(key);
System.out.println(key + " : " + value);
}
}
}
- 其中 os.arch 是获取当前操作系统的架构
String str = System.getProperty("os.arch"); // amd64
命名规范
- 类的首字母--大写
- 例如:新闻爬虫叫做NewsSpider, 论坛爬虫叫做ForumSpider
- 方法名和变量名--驼峰
- 例如:getURLs()
- 常量名--所有字母大写,单词间用下划线_隔开
- 仅处理网址的类叫做Handler
- 从网址提取内容的类叫做Extractor
基本语法
- 方法重载
- 有些方法处理的方式相同,只是输入参数不同,可以把这些方法命名成同一个名称,这叫做方法重载。
- 例如:分词类可以切分一个字符串,或者一个文件。
Public class Segmenter {
Public Split (String sentence){}
Public Split (File file){
//内部调用Split(String)
}
}
-
条件判断
-
判断一个网址是否是详细页,如果是详细页,就从这个网址提取正文。
-
if ( isDetail(url) ){
extractContent(url);
}
// 使用for循环生成要遍历的网址
for (int pageNum = 2; pageNum < 5; pageNum++) {
String pattern =
"https://finance.sina.com.cn/";
String url = String.format(pattern, pageNum);
System.out.println( url );
}
/*
运行结果:
https://finance.sina.com.cn/
https://finance.sina.com.cn/
https://finance.sina.com.cn/
*/