Java网络爬虫

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/
*/

猜你喜欢

转载自blog.csdn.net/leobett/article/details/81104329