Java学习随笔(2)--爬虫--天气预报
public class Spiderweather {
public static void main(String[] args) {
List<String> list = null;
BufferedReader bufr = null;
BufferedWriter bufw = null;
try {
bufr = new BufferedReader(new FileReader(new File("D:\\bianma.txt")));
list = new ArrayList<String>();
String line = "";
Pattern p = Pattern.compile("\\d{2,}");
while ((line = bufr.readLine()) != null) {
Matcher m = p.matcher(line);
while (m.find())
list.add(m.group());
}
} catch (Exception e1) {
e1.printStackTrace();
}
Iterator<String> it = list.iterator();
File file = new File("D:\\forecast.txt");
if (!file.exists())
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
bufw = new BufferedWriter(new FileWriter(file));
} catch (IOException e1) {
e1.printStackTrace();
}
String bm = "";
while (it.hasNext()) {
bm = it.next();
String url = "http://www.weather.com.cn/weather/" + bm + ".shtml";
try {
Document doc = Jsoup.connect(url).get();
Elements content = doc.getElementsByClass("con today clearfix");
for (Element e : content) {
Document conDoc = Jsoup.parse(e.toString());
Elements cru = conDoc.getElementsByClass("crumbs fl");
Elements sky = content.select("li[class^=sky skyid lv]");
bufw.write(cru.text());// 地点
bufw.newLine();
for (Element sk : sky) {
bufw.write(sk.text());
bufw.newLine();
}
bufw.newLine();
}
bufw.newLine();
bufw.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
try {
System.out.println("天气查询完毕!!");
if (bufw != null)
bufw.close();
if (bufr != null)
bufr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java学习随笔(2)--爬虫--天气预报的更多相关文章
- (。・・)ノ~个人java学习随笔记录
基本认识 1.编程思维 根据这几天的java学习,编写程序最重要的就是要有一个清晰的思路.语法上的错误可以跟随着不断的联系与学习来弥补,清晰的思维却只有自己来前期模仿,后面慢慢摸索形成一套属于自己的思 ...
- Java学习随笔(1)--groovy爬虫
package com.fan import com.fission.source.httpclient.ApiLibraryimport com.fission.source.httpclient. ...
- JAVA 学习随笔 : JDK Enhancement Process JEP process
是时候寻找一个学习JAVA的路径了 ---- JDK Enhancement Process Oracle发布了JDK增强提案与路线图进程,目的在于鼓励OpenJDK提交者贡献点子和扩展以改进Open ...
- java学习随笔--- 捣蛋vector
最近比较有时间啦,有时间搞下java,个人觉得学这门语言语法太多啦,不一一去学习啦,心血来潮,挂了个struct2的源代码,一入深似海啊,看得我天花缭乱,从最简单的开始吧 public static ...
- Java学习随笔5:Java多线程编程
1. 线程是程序中单独顺序的控制流,线程本身依靠程序进行运行,线程是程序中的顺序控制流,只能使用分配给程序的资源和环境. 2. 进程是执行中的程序,一个进程可以包含一个或多个线程,但至少要包含一个线程 ...
- Java学习随笔4:Java的IO操作
1. IO流的作用是读写设备上的数据,如硬盘文件.内存.键盘.网络等.根据数据走向,可分为:输入流和输出流:根据处理的数据类型,可分为:字节流和字符流.字节流可以处理所有类型的数据,如MP3.图片.视 ...
- Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...
- Java学习随笔2:Java复合赋值表达式的小问题
问题:i += j只是i = i + j的简写么? 答案:非也!看下面的程序: int i = 5; long j = 8; i += j; // 可以通过编译且结果正确 i = i + j; // ...
- Java学习随笔1:Java是值传递还是引用传递?
Java always passes arguments by value NOT by reference. Let me explain this through an example: publ ...
随机推荐
- OTB数据库上各tracker评测结果
后面两张success plot分别是按照threshold和auc排序 各tracker说明: Year2015: [CF2] 实验结果比论文中的结果好,原因是我运行的是作者后期又更新过的代码,作者 ...
- C语言的抽象与函数指针--思想(转)
一.何为抽象? 从小到大,我们接触到的抽象,最熟悉的莫过于数学了.为什么这样说呢? 比如说,在小学的时候,老师总是拿了几个苹果来引诱我们:同学们,这里有几个苹果啊?于是我们流着口水一个个地数,一个苹果 ...
- 使用LAP数据集进行年龄训练及估计
一.背景 原本是打算按<DEX Deep EXpectation of apparent age from a single image>进行表面年龄的训练,可由于IMDB-WIKI的数据 ...
- javax.el.PropertyNotFoundException: Property 'XXX' not found on type bean.XXXXX
javax.el.PropertyNotFoundException: Property 'XXX' not found on type bean.XXXXX 先检查页面语法是否有问题,后在页面的el ...
- [总结] Synchronized汇总
Java中的每一个对象都可以作为锁. 1对于同步方法,锁是当前实例对象. 2对于静态同步方法,锁是当前对象的Class对象. 3对于同步方法块,锁是Synchonized括号里配置的对象. 当一个线程 ...
- ERROR: cannot launch node of type [teleop/teleop_key]: can't locate node [teleop_key] in package [teleop]
节点由python写成,编译通过,运行时报错如下: ERROR: cannot launch node of type [teleop/teleop_key]: can't locate node [ ...
- Composer 的基本使用
官网 https://packagist.org/ 安装依赖包 $ composer require phpmailer/phpmailer composer.json 文档 https://getc ...
- Dijkstra求最短路径&例题
讲了半天好像也许maybe听懂了一点,先写下来233 先整理整理怎么存(开始绕) 最简单的是邻接矩阵存,但是开到10000*10000就MLE了,所以我们用链式前向星存(据说是叫这个名字吧) 这是个什 ...
- 7.9 skippart.c 程序
7.9 skippart.c 程序 #include <stdio.h> int main(void) { const float MIN = 0.0f; const float MAX ...
- 1、Netty 实战入门详解
一.Netty 简介 Netty 是基于 Java NIO 的异步事件驱动的网络应用框架,使用 Netty 可以快速开发网络应用,Netty 提供了高层次的抽象来简化 TCP 和 UDP 服务器的编程 ...