成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java爬取博客園個(gè)人博客

leonardofed / 3402人閱讀

摘要:本人以前也是搞過幾年,由于公司的崗位職責(zé),后面漸漸地被掰彎,現(xiàn)在主要是做前端開發(fā)。所以想利用爬取文章,再將爬取的轉(zhuǎn)化成目前還未實(shí)現(xiàn),歡迎各位同學(xué)指導(dǎo)。

java爬取博客園個(gè)人博客 前言

近期本人在某云上購買了個(gè)人域名,本想著以后購買與服務(wù)器搭建自己的個(gè)人網(wǎng)站,由于需要籌備的太多,暫時(shí)先擱置了,想著先借用GitHub Pages搭建一個(gè)靜態(tài)的站,搭建的過程其實(shí)也曲折,主要是域名地址配置把人搞廢了,不過總的來說還算順利,網(wǎng)站地址 https://chenchangyuan.cn(空博客,樣式還挺漂亮的,后期會(huì)添磚加瓦)

利用git+npm+hexo,再在github中進(jìn)行相應(yīng)配置,網(wǎng)上教程很多,如果有疑問歡迎評(píng)論告知。

本人以前也是搞過幾年java,由于公司的崗位職責(zé),后面漸漸地被掰彎,現(xiàn)在主要是做前端開發(fā)。

所以想利用java爬取文章,再將爬取的html轉(zhuǎn)化成md(目前還未實(shí)現(xiàn),歡迎各位同學(xué)指導(dǎo))。

1.獲取個(gè)人博客所有url

查看博客地址https://www.cnblogs.com/ccylo...

根據(jù)你自己寫的博客數(shù)量進(jìn)行遍歷

將博客的詳情頁地址存放在set集合中,詳情頁地址https://www.cnblogs.com/ccylo...

2.詳情頁url生成html文件

遍歷set集合,依次生成html文件

文件存放在C://data//blog目錄下,文件名由捕獲組1生成

3.代碼實(shí)現(xiàn)
package com.blog.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author Jack Chen
 * */
public class BlogUtil {

    /**
     * URL_PAGE:cnblogs url
     * URL_PAGE_DETAIL:詳情頁url
     * PAGE_COUNT:頁數(shù)
     * urlLists:所有詳情頁url Set集合(防止重復(fù))
     * p:匹配模式
     * */
    public final static String URL_PAGE = "https://www.cnblogs.com/ccylovehs/default.html?page=";
    public final static String URL_PAGE_DETAIL = "https://www.cnblogs.com/ccylovehs/p/([0-9]+.html)";
    public final static int PAGE_COUNT = 3;
    public static Set urlLists = new TreeSet();
    public final static Pattern p = Pattern.compile(URL_PAGE_DETAIL);
    
    
    public static void main(String[] args) throws Exception {
        for(int i = 1;i<=PAGE_COUNT;i++) {
            getUrls(i);
        }
        for(Iterator i = urlLists.iterator();i.hasNext();) {
            createFile(i.next());
        }
    }
    
    /**
     * @param url
     * @throws Exception
     */
    private static void createFile(String url) throws Exception {
        Matcher m = p.matcher(url);
        m.find();
        String fileName = m.group(1);
        String prefix = "C://data//blog//";
        File file = new File(prefix + fileName);
        PrintStream ps = new PrintStream(file);

        URL u = new URL(url);
        HttpURLConnection conn = (HttpURLConnection) u.openConnection();
        conn.connect();
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
        String str;
        
        while((str = br.readLine()) != null){
            ps.println(str);
        }
        ps.close();
        br.close();
        conn.disconnect();
    }
    
    /**
     * @param idx 
     * @throws Exception
     */
    private static void getUrls(int idx) throws Exception{
        URL u = new URL(URL_PAGE+""+idx);
        HttpURLConnection conn = (HttpURLConnection) u.openConnection();
        conn.connect();
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
        String str;
        while((str = br.readLine()) != null){
            if(null != str && str.contains("https://www.cnblogs.com/ccylovehs/p/")) {
                Matcher m = p.matcher(str);
                if(m.find()) {
                    System.out.println(m.group(1));
                    urlLists.add(m.group());
                }
            }
        }
        br.close();
        conn.disconnect();
    }
    
}
4.結(jié)語

如果覺得對(duì)您有用的話,麻煩動(dòng)動(dòng)鼠標(biāo)給我一顆star,您的鼓勵(lì)是我最大的動(dòng)力

https://github.com/chenchangy...

由于不想一篇篇的手動(dòng)生成md文件,下一步需要將html文件批量的轉(zhuǎn)化成md文件,以便完善個(gè)人博客內(nèi)容,未完待續(xù)~~~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76944.html

相關(guān)文章

  • 爬取博客首頁數(shù)據(jù)進(jìn)行數(shù)據(jù)分析

    摘要:目標(biāo)選取了博客園,爬取了首頁的前頁文章,但是數(shù)據(jù)放在那一直沒去分析。為了避免對(duì)博客園造成壓力,爬蟲代碼不公開。注數(shù)據(jù)來源是年月日至月的博客園首頁文章。誰是博客園最愛的用戶最愛的用戶,在這里是按文章上首頁的數(shù)量來判斷的。 前言 之前折騰了一小段時(shí)間scrapy,覺得使用起來異常簡單,然后打算練練手。目標(biāo)選取了博客園,爬取了首頁的前200頁文章,但是數(shù)據(jù)放在那一直沒去分析。趁著現(xiàn)在有閑心,...

    zilu 評(píng)論0 收藏0
  • 爬取博客首頁并定時(shí)發(fā)送到微信

    摘要:應(yīng)女朋友要求,為了能及時(shí)掌握技術(shù)動(dòng)向,特意寫了這個(gè)爬蟲,每天定時(shí)爬取博客園首頁并發(fā)送至微信。 應(yīng)女朋友要求,為了能及時(shí)掌握技術(shù)動(dòng)向,特意寫了這個(gè)爬蟲,每天定時(shí)爬取博客園首頁并發(fā)送至微信。 環(huán)境: Python3.4 第三方庫 Requests:向服務(wù)器發(fā)送請(qǐng)求 BeautifulSoup4:解析Html wxpy:微信接口 Schedule:定時(shí)器 代碼 # -*-coding:u...

    aaron 評(píng)論0 收藏0
  • 我是如何將博客轉(zhuǎn)成PDF的

    摘要:但發(fā)現(xiàn)導(dǎo)出來的沒有高亮語法沒有語法高亮咋看啊,所以到這里我就放棄了,將就用一下博客園生成的吧爬蟲學(xué)習(xí)上面提供的接口是一個(gè)生成一個(gè)文件,我是不可能一個(gè)一個(gè)將鏈接和標(biāo)題放上去生成的因?yàn)椴┛蛨@上發(fā)的也將近篇了。 前言 只有光頭才能變強(qiáng) 之前有讀者問過我:3y你的博客有沒有電子版的呀?我想要份電子版的。我說:沒有啊,我沒有弄過電子版的,我這邊有個(gè)文章導(dǎo)航頁面,你可以去文章導(dǎo)航去找來看呀..然后...

    mindwind 評(píng)論0 收藏0
  • 個(gè)人博客建站最全解析

    摘要:今天呢我想給大家,也給我自己,對(duì)我的個(gè)人網(wǎng)站做一個(gè)全面的整理和分析。首頁上用戶直接看得到的部分有導(dǎo)航欄和輪播大圖當(dāng)時(shí)寫這個(gè)網(wǎng)站的設(shè)想是在年月份的時(shí)候。目前網(wǎng)上流行的個(gè)人博客頁面。感謝框架對(duì)本網(wǎng)站的大力支持。大家好~又見面了。 今天呢我想給大家,也給我自己, 對(duì)我的個(gè)人網(wǎng)站yanyy.cn/yanyy 做一個(gè)全面的整理和分析。 也給有這方面想法的朋友一個(gè)參考。 做網(wǎng)站的有愛好也有帶有目的性的。...

    zlyBear 評(píng)論0 收藏0
  • 號(hào)稱史上最牛逼的幾篇博客整理(python+java+js等)

    摘要:百度網(wǎng)盤爬蟲博客園上如何邀請(qǐng)好友注冊(cè)您的網(wǎng)站博客園上如何爬取代理服務(wù)器博客園上百度圖片爬蟲開源中國上中文分詞十分重要,推薦博客網(wǎng)站真分頁代碼該怎么寫博客園上磁力爬蟲源碼公開上兼容所有瀏覽器的瀏覽器復(fù)制問題 號(hào)稱史上最牛逼的幾篇博客這個(gè)說法也許夸張了點(diǎn),但總體來說樓主整理的博客都是樓主幸苦之作,并且都是圍繞去轉(zhuǎn)盤網(wǎng)展開,這些博客幾乎透漏了該站的所有技術(shù)關(guān)鍵,細(xì)節(jié),甚至所有核心代碼,我個(gè)人...

    WrBug 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<