Java實現簡單爬蟲爬取天氣預報
爬蟲爬取網頁的主要流程是:
1.向目標網頁發起請求;
2.對於獲取到的html檔案進行解析;
3.對解析後的資料進行儲存。
本次主要是爬取全國城市未來7天的天氣預報,爬取物件為中國天氣網,爬取的資料存入文字中。
對於html檔案的解析採用Jsoup結合正則表示式。
地區程式碼參考:https://wenku.baidu.com/view/49166e7265ce050877321331.html
實現程式碼:
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(); } } }
爬取到的結果:
北京 > 城區
7日(今天) 多雲轉晴 6℃/ -5℃ 3-4級轉<3級
8日(明天) 晴間多雲轉晴 6℃/ -4℃ <3級
9日(後天) 多雲 6℃/ -3℃ <3級
10日(週日) 多雲 5℃/ -5℃ 3-4級轉<3級
11日(週一) 晴 3℃/ -8℃ <3級
12日(週二) 晴 2℃/ -6℃ <3級
13日(週三) 多雲 4℃/ -5℃ <3級
北京 > 朝陽
7日(今天) 多雲轉晴 6℃/ -5℃ 4-5級轉<3級
8日(明天) 晴 6℃/ -4℃ <3級
9日(後天) 多雲 6℃/ -3℃ <3級
10日(週日) 多雲 5℃/ -5℃ 3-4級轉<3級
11日(週一) 晴 3℃/ -8℃ <3級
12日(週二) 晴 2℃/ -6℃ <3級
13日(週三) 多雲 4℃/ -5℃ <3級
北京 > 順義
7日(今天) 多雲轉晴 5℃/ -5℃ 3-4級轉<3級
8日(明天) 晴 6℃/ -4℃ <3級
9日(後天) 多雲 6℃/ -3℃ <3級
10日(週日) 多雲 5℃/ -5℃ 3-4級轉<3級
11日(週一) 晴 3℃/ -8℃ <3級
12日(週二) 晴 2℃/ -6℃ <3級
13日(週三) 多雲 4℃/ -5℃ <3級
北京 > 懷柔
7日(今天) 多雲轉晴 5℃/ -7℃ 3-4級轉<3級
8日(明天) 晴 6℃/ -6℃ <3級
9日(後天) 多雲 6℃/ -5℃ <3級
10日(週日) 多雲 5℃/ -7℃ 3-4級轉<3級
11日(週一) 晴 3℃/ -10℃ <3級
12日(週二) 晴 2℃/ -8℃ <3級
13日(週三) 多雲 4℃/ -7℃ <3級
……
相關推薦
Java實現簡單爬蟲爬取天氣預報
爬蟲爬取網頁的主要流程是: 1.向目標網頁發起請求; 2.對於獲取到的html檔案進行解析; 3.對解析後的資料進行儲存。 本次主要是爬取全國城市未來7天的天氣預報,爬取物件為中國天氣網,爬取的資料存入文字中。 對於html檔案的解析採用Jsoup結合正則表示式。 地區程
python3 爬蟲—爬取天氣預報多個城市七天資訊(三)
一、內容: 利用BeautifulSoup抓取中國天氣網各個城市7天的 時間 天氣狀態 最高溫 最低溫 的相關資訊,並記錄儲存在本地csv表格檔案中。 爬取的頁面截圖: html獲取資訊截圖: 二、原理: 1.利用requests獲取請求
用JAVA實現簡單爬蟲多執行緒抓取
在迴圈爬取得基礎上進行多執行緒爬蟲,本程式中使用的三個執行緒,執行緒為實現runnable介面,並使用物件鎖防止併發共同去訪問同一個物件。讓三個執行緒同時爬去同一個url並且得到的新的url不重複。 import java.io.*; import j
Python爬取天氣預報
exc res http tee parser ror .cn date req 將持續更新…… 1.實現爬取一天的天氣預報 from urllib.request import urlopen from bs4 import BeautifulSoup import re
PHP簡單爬蟲 爬取免費代理ip 一萬條
img mys i++ .com log mage top100 dai code 目標站:http://www.xicidaili.com/ 代碼: <?php require ‘lib/phpQuery.php‘; require ‘lib/QueryList.
Python爬取天氣預報資料,並存入到本地EXCEL中
近期忙裡偷閒,搞了幾天python爬蟲,基本可以實現常規網路資料的爬取,比如糗事百科、豆瓣影評、NBA資料、股票資料、天氣預報等的爬取,整體過程其實比較簡單,有一些HTML+CSS+DOM樹等知識就很easy,我就以天氣預報資料的爬取為例,整理出來。 需求:採
Python簡單爬蟲爬取多頁圖片
初學爬蟲簡單的爬了爬貼吧圖片 #!/usr/bin/python # coding utf-8 import re import time import urllib def getHtml():
Node.js實現簡單的爬取
學習【node.js】也有幾天時間了,所以打算寫著練練手;索然我作為一個後端的選手,寫起來還有那麼一絲熟悉的感覺。emmm~~ ‘貨’不多講 ,開搞........ 首先是依賴選擇: 程式碼塊如下: //引入依賴 //https請求 co
Springboot+JPA下實現簡易爬蟲--爬取豆瓣電視劇資料
Springboot+JPA下實現簡易爬蟲--爬取豆瓣電視劇資料 前言:今天聽到產品那邊討論一些需求,好像其中一點是使用者要求我們爬蟲,在網頁上抓取一些資料然後存到我們公司資料庫中,眾所周知,爬蟲的實現對於python語言可是專家,而對於我們使用的Java語言,我也不確定可不可以,趁著無事,上網參考了下
java實現簡單的網路爬蟲(爬取電影天堂電影資訊)
在最開始,我們要在網上下載所用到的jar包,應為這只是一個簡單的網路爬蟲所以很多包裡的內容沒有用到。 下面幾個包就可以了。並且要引入這些包。 主類Bigdata.javaimport org.htmlparser.util.ParserException; public
Java爬蟲-使用HttpClient+Jsoup實現簡單的爬蟲爬取文字
##一、工具介紹 HttpClient是Apache Jakarta Common下的子專案,用來提供高效的、最新的、功能豐富的支援HTTP協議的客戶端程式設計工具包,並且它支援HTTP協議最新的版本和建議。HttpClient已經應用在很多的專案中,比如A
用JAVA實現一個爬蟲,爬取知乎的上的內容(程式碼已無法使用)
在學習JAVA的過程中寫的一個程式,處理上還是有許多問題,爬簡單的頁面還行,複雜的就要跪. 爬取內容主要使用URLConnection請求獲得頁面內容,使用正則匹配頁面內容獲得所需的資訊存入檔案,使用正則尋找這個頁面中可訪問的URL,使用佇列儲存未訪問的URL
java網路程式設計____最簡單的爬蟲(爬取網站美女圖片)
package com.company.reptile; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileOutpu
超簡單的JAVA爬蟲爬取晉江小說的簡介和評論
Java爬取晉江書城的某個分類下小說的簡介和評論 寫在前面,一開始是因為書荒又找不到自己喜歡的,就打算去晉江書城看看,結果排在前面的也不是我的菜,一本本挑又嫌太麻煩就打算把資料爬下來慢慢的看。分析了一下晉江的網頁,發現可以爬下來的資料有書名、作者、型別、簡介、標籤、收藏、下
關於java實現需要登入且帶驗證碼的定時網路爬蟲(爬取的資料存庫)
博主6月初的時候換了個工作,剛進來的時候什麼事沒有,愣是上班喝茶逛網站渡過了一週。那週週五的boss突然問我會不會爬蟲。 作為一個才工作一年的javaer表示根本沒接觸過,但是那種情況下你還敢說不會麼,但是當時也不敢說的很絕對,因此就和boss就會一點。 當時就隱隱約約有爬
pyhthon 利用爬蟲結合阿裏大於短信接口實現短信發送天氣預報
logging restapi cep elf except cnblogs author div time() 1 # -*- coding: utf-8 -*- 2 ‘‘‘‘‘ 3 SDK for alidayu 4 5
使用Python的BeautifulSoup庫實現一個可以爬取1000條百度百科數據的爬蟲
otto 提取數據 tps summary 簡介 標題格式 段落 字典 如果 BeautifulSoup模塊介紹和安裝 BeautifulSoup BeautifulSoup是Python的第三方庫,用於從HTML或XML中提取數據,通常用作於網頁的解析器 Beauti
Java爬蟲爬取京東商品信息
1.2 image 商品 void code 更改 size pri name 以下內容轉載於《https://www.cnblogs.com/zhuangbiing/p/9194994.html》,在此僅供學習借鑒只用。 Maven地址 <dependency>
java爬蟲爬取資源,小白必須會的入門程式碼塊
java作為目前最火的語言之一,他的實用性也在被無數的java語言愛好者逐漸的開發,目前比較流行的爬取資源,用java來做也更簡單一些,下面是爬取網頁上所有手機型號,引數等極為簡便的資料 package day1805; import java.io.IOException; im
JAVA爬蟲爬取網頁資料資料庫中,並且去除重複資料
pom檔案 <!-- 新增Httpclient支援 --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId&