簡(jiǎn)單Java爬蟲(chóng)

package com.neusoft.zhilian;

import java.io.BufferedReader;
import org.jsoup.nodes.Document;

import org.jsoup.select.Elements;


import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.interfaces.RSAKey;
import java.util.ArrayList;
import java.util.List;


import org.jsoup.Jsoup;



public class Demo02 {
    public static void main(String[] args) throws IOException {
        System.out.println("開(kāi)始");
        Demo02 d=new Demo02();
        String str=d.getHtml();
        
        //System.out.println(str);
//      d.write(str);
        d.readHtml(str);
        
        System.out.println("結(jié)束");
        
    }
    public String getHtml() throws IOException {
        StringBuffer buffer = new StringBuffer();
//      String urlpath="https://sou.zhaopin.com/?jl=801&kw=java&kt=3";
        String urlpath="http://www.dyhjw.com/dyhjw/etf.html";
        URL url = new URL(urlpath);
        URLConnection conn = url.openConnection();

        InputStream in =conn.getInputStream();
        //字節(jié)流-》字符流 InputStreamReader
        InputStreamReader reader = new InputStreamReader(in,"utf-8");
        //按行讀
        BufferedReader breader = new BufferedReader(reader);
        //讀
        String line = "";
        while((line= breader.readLine())!=null)
        {
            buffer.append(line);
        }
        return buffer+"";
    }
     public List<Object[]> readHtml(String html){
        //1. 使用Jsoup解析html -> Document對(duì)象
            Document document = Jsoup.parse(html);

        //2. 從Document中找到id=newlist_list_content_table的element
        //  Element div = document.getElementById("newlist_list_content_table");
            
            //3. 在id=newlist_list_content_table下找到所有class=newslist的elements
//          Elements tables =document.getElementsByClass("sx_table");
//          直接獲取整個(gè)table的內(nèi)容
//          System.out.println("tables="+tables);
            Elements trs=document.select("table").select("tr");
            List<Object[]> list=new ArrayList<>();
                   File file =new File("d://黃金.txt");
                   FileWriter fWriter= null;
                   if(!file.exists()) {
                       try {
                            file.createNewFile();
                            fWriter= new FileWriter(file);
                            fWriter.append("日期(北京)\t凈持倉(cāng)量(盎司)\t凈持倉(cāng)量(噸)\t總價(jià)值(美元)\t總價(jià)值(美元)\t影響(金銀)\t\n");
                            for (int i = 1; i < trs.size(); i++) {
                                Elements tds=trs.get(i).select("td");
                                Object[]obj={tds.get(0).text(),Double.parseDouble(tds.get(1).text()),Double.parseDouble(tds.get(2).text()),
                                        Double.parseDouble(tds.get(3).text()),Double.parseDouble(tds.get(4).text()),tds.get(5).text()};
                                list.add(obj);
                            for (int j = 0; j < tds.size(); j++) {
                            String txt=tds.get(j).text();
                            //fWriter.write(txt+"\t");
                            fWriter.append(txt+"\t\n");
                            fWriter.flush();
                            System.out.print(txt+"\t");
                            System.out.println("");
                            }
                            }
                        }catch (IOException e) {
                        // TODO Auto-generated catch block
                               e.printStackTrace();
                           }finally {
                            try {
                                fWriter.close();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                           }
                    }       
            
            return list;
        }
     
}


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末焦蘑,一起剝皮案震驚了整個(gè)濱河市临燃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異荤懂,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)塘砸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)节仿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人掉蔬,你說(shuō)我怎么就攤上這事廊宪》” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵箭启,是天一觀的道長(zhǎng)壕翩。 經(jīng)常有香客問(wèn)我,道長(zhǎng)傅寡,這世上最難降的妖魔是什么放妈? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮荐操,結(jié)果婚禮上芜抒,老公的妹妹穿的比我還像新娘。我一直安慰自己托启,他們只是感情好宅倒,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著屯耸,像睡著了一般拐迁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疗绣,一...
    開(kāi)封第一講書(shū)人閱讀 52,736評(píng)論 1 312
  • 那天线召,我揣著相機(jī)與錄音,去河邊找鬼持痰。 笑死灶搜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的工窍。 我是一名探鬼主播割卖,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼患雏!你這毒婦竟也來(lái)了鹏溯?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤淹仑,失蹤者是張志新(化名)和其女友劉穎丙挽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體匀借,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颜阐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吓肋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凳怨。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肤舞,到底是詐尸還是另有隱情紫新,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布李剖,位于F島的核電站芒率,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏篙顺。R本人自食惡果不足惜偶芍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望慰安。 院中可真熱鬧腋寨,春花似錦、人聲如沸化焕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撒桨。三九已至,卻和暖如春键兜,著一層夾襖步出監(jiān)牢的瞬間凤类,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工普气, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谜疤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓现诀,卻偏偏與公主長(zhǎng)得像夷磕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仔沿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容