摘要:本人以前也是搞過幾年,由于公司的崗位職責,后面漸漸地被掰彎,現在主要是做前端開發。所以想利用爬取文章,再將爬取的轉化成目前還未實現,歡迎各位同學指導。
java爬取博客園個人博客 前言
近期本人在某云上購買了個人域名,本想著以后購買與服務器搭建自己的個人網站,由于需要籌備的太多,暫時先擱置了,想著先借用GitHub Pages搭建一個靜態的站,搭建的過程其實也曲折,主要是域名地址配置把人搞廢了,不過總的來說還算順利,網站地址 https://chenchangyuan.cn(空博客,樣式還挺漂亮的,后期會添磚加瓦)
利用git+npm+hexo,再在github中進行相應配置,網上教程很多,如果有疑問歡迎評論告知。
本人以前也是搞過幾年java,由于公司的崗位職責,后面漸漸地被掰彎,現在主要是做前端開發。
所以想利用java爬取文章,再將爬取的html轉化成md(目前還未實現,歡迎各位同學指導)。
1.獲取個人博客所有url查看博客地址https://www.cnblogs.com/ccylo...
根據你自己寫的博客數量進行遍歷
將博客的詳情頁地址存放在set集合中,詳情頁地址https://www.cnblogs.com/ccylo...
2.詳情頁url生成html文件遍歷set集合,依次生成html文件
文件存放在C://data//blog目錄下,文件名由捕獲組1生成
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:頁數 * urlLists:所有詳情頁url Set集合(防止重復) * 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 Set4.結語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(); } }
如果覺得對您有用的話,麻煩動動鼠標給我一顆star,您的鼓勵是我最大的動力
https://github.com/chenchangy...
由于不想一篇篇的手動生成md文件,下一步需要將html文件批量的轉化成md文件,以便完善個人博客內容,未完待續~~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76944.html
摘要:目標選取了博客園,爬取了首頁的前頁文章,但是數據放在那一直沒去分析。為了避免對博客園造成壓力,爬蟲代碼不公開。注數據來源是年月日至月的博客園首頁文章。誰是博客園最愛的用戶最愛的用戶,在這里是按文章上首頁的數量來判斷的。 前言 之前折騰了一小段時間scrapy,覺得使用起來異常簡單,然后打算練練手。目標選取了博客園,爬取了首頁的前200頁文章,但是數據放在那一直沒去分析。趁著現在有閑心,...
摘要:應女朋友要求,為了能及時掌握技術動向,特意寫了這個爬蟲,每天定時爬取博客園首頁并發送至微信。 應女朋友要求,為了能及時掌握技術動向,特意寫了這個爬蟲,每天定時爬取博客園首頁并發送至微信。 環境: Python3.4 第三方庫 Requests:向服務器發送請求 BeautifulSoup4:解析Html wxpy:微信接口 Schedule:定時器 代碼 # -*-coding:u...
摘要:但發現導出來的沒有高亮語法沒有語法高亮咋看啊,所以到這里我就放棄了,將就用一下博客園生成的吧爬蟲學習上面提供的接口是一個生成一個文件,我是不可能一個一個將鏈接和標題放上去生成的因為博客園上發的也將近篇了。 前言 只有光頭才能變強 之前有讀者問過我:3y你的博客有沒有電子版的呀?我想要份電子版的。我說:沒有啊,我沒有弄過電子版的,我這邊有個文章導航頁面,你可以去文章導航去找來看呀..然后...
摘要:今天呢我想給大家,也給我自己,對我的個人網站做一個全面的整理和分析。首頁上用戶直接看得到的部分有導航欄和輪播大圖當時寫這個網站的設想是在年月份的時候。目前網上流行的個人博客頁面。感謝框架對本網站的大力支持。大家好~又見面了。 今天呢我想給大家,也給我自己, 對我的個人網站yanyy.cn/yanyy 做一個全面的整理和分析。 也給有這方面想法的朋友一個參考。 做網站的有愛好也有帶有目的性的。...
摘要:百度網盤爬蟲博客園上如何邀請好友注冊您的網站博客園上如何爬取代理服務器博客園上百度圖片爬蟲開源中國上中文分詞十分重要,推薦博客網站真分頁代碼該怎么寫博客園上磁力爬蟲源碼公開上兼容所有瀏覽器的瀏覽器復制問題 號稱史上最牛逼的幾篇博客這個說法也許夸張了點,但總體來說樓主整理的博客都是樓主幸苦之作,并且都是圍繞去轉盤網展開,這些博客幾乎透漏了該站的所有技術關鍵,細節,甚至所有核心代碼,我個人...
閱讀 1371·2021-09-30 09:55
閱讀 1896·2021-08-27 13:10
閱讀 2244·2019-08-29 17:22
閱讀 1298·2019-08-29 16:30
閱讀 3464·2019-08-26 18:37
閱讀 2348·2019-08-26 11:47
閱讀 1162·2019-08-23 14:44
閱讀 1740·2019-08-23 13:46