很抱歉,我回來了!

很抱歉,我回來了!

那是一個月黑風高、風雨交加、伸手不見五指的黑夜,冥冥之中好似要發生點什麼

因為出了個「意外」再加上疫情原因,我一度變成了「植物人」,差點去了二次元,好在「搶救」回來了。這幾年找我的消息我也收不到了,感謝那些還在和關心我的人,謝謝。

錯的並不是我,而是這個冥冥之中註定的世界

這些年找我的人和事,我也全部不知道,QQ、微信一些消息太久也都收不到了 看到我多年未亮起的頭像重新亮了起來,不少朋友都來問我怎麼回事。 很感謝那些素未謀面的網友,或許叫朋友更親切些,你們還一直惦記著我,讓我很是感動。

一找就是找了我三年 滿世界的找我 感動的不要不要的 下面才是正文

關於部落格

部落格首次建成時間是2016-06-09,如今已經成立了快8年之久了,在各種災難中也頑強地生存了下來 期間也認識了好多好多的小夥伴,一起討論,一起進步,一起成長。所以我並不想讓部落格就此消失 部落格數據原本有自動備份到七牛雲的,但直到現在才知道,備份不知道什麼原因,19年10月份左右就停掉了 都說網際網路是有記憶的,本著「頭可斷血可流,數據不能丟」的精神,我在茫茫網路中尋找數日,終究還是讓我找到了部落格的網站存檔。 可以點擊這裡去看我的部落格歷史版本archive (國外著名的網站檔案館項目)

於是就寫了個Python腳本把文章和評論數據給爬下來了。 爬完後我發現有人已經給我備份了(我部落格之前是別人贊助的三年)

部落格搬遷

部落格搬遷到部落格園,其實也是不得已而為之

部落格的原域名(52ecy.cn,moeins.cn,moeins.com)在到期後被人搶註,溝通無果後,一時半會是拿不回來的了 迫於無奈吧,只能暫且先將部落格搬遷到部落格園來(之後是否再自建的話再做打算吧)。另一方面也可能是現在沒有太多閒時間來折騰自己的系統,放在部落格園反倒是更加省心省力。但是評論就沒那麼方便了,需要登入才可以發表評論,當然有啥問題也可以直接在群裡@我

其實早在18年底的時候,我就已經有想換主題的想法了->這下真鴿了 (我可真能拖,太佩服我自己了) 無奈之前的emlog系統沒有合適現成的,自己又懶得移植,便一直一拖再拖。

原來那個主題我一直就想換掉了,因為不太好看,沒有個性,就是規規矩矩的,並不符合我的個性和風格 但是呢,我審美雖然特別棒,但你要讓我自己寫一套符合我審美的主題出來那就是有點困難了

後來突然看到部落格園用戶不忘編碼的部落格,心想部落格園還支持這樣自己美化。 一句「我又不想他部落格從此也失聯,無法訪問打開」 後便決定暫時先搬遷到部落格園再說吧。

一直就想換這種二次元風格的主題了 目前此部落格美化風格樣式基於櫻花莊的白貓的WordPress主題Sakura,不忘編碼移植,但BUG和細節問題較多,我又花了兩天優化了一下,但也好多頁面沒優化,之後再慢慢來吧 (能明天再做的事為什麼不留給明天的我去做呢)

由於之前的emlog部落格使用的是HTML的TinyMCE編輯器,而且還是很老的版本,所以生成的文章的HTML程式碼也是相當的混亂,所以搬遷至部落格園的markdown格式的時候出現了很多的樣式不相容問題,我也已經盡可能地修復了一些,但也沒法保證所有文章都能正常地顯示,看到的話再慢慢修吧

部落格園不支持自建部落格系統的一鍵搬遷功能,所以文章的發布時間和評論的資訊就不能一同搬遷了,但我又想保留原汁原味,所以我就一併寫到文章當中了,私密評論也還是隱藏了。 (自建部落格系統的問題也和部落格園團隊溝通了,說後期開發會加上,也不為難他們了,他們也入不敷出了,文章的發布使用了Cnblog的VScode插件)

友情連結我也單獨搞了一個頁面給搬遷過去了,但也很多友鏈的網站也已經無法訪問了,有的也已經下掉友鏈了。 現在的我也不是獨立域名了,都不好意思再去申請友鏈了…..

之前部落格的所有圖片都是存在新浪的,一直擔心哪天又給丟了,所以平常都是一份七牛雲,一份新浪,現在也全部給搬遷到部落格園來了

我為什麼要寫部落格?

有人會覺得這些有這麼重要嗎? 有時候我也是想說點什麼,想寫點什麼,但又沒人說,沒地方寫,就是需要那麼一個地方 我做部落格也不是為了什麼流量啊,賺錢之類的,就想搞一片自己的小天地,在自己的小圈子裡瞎混噠 也許也正因這一份熱愛,所以我才能慢慢堅持下來,奈何事與願違,出了一點意外

以前好多部落格圈的朋友都要麼不見了,要麼都不更新了,真的好可惜啊,我都還沒來得及認識他們 (尤其是月宅那貨)

@寒穹 那貨還說我:「阿珏,那麼久了怎麼還那麼二次元」。 我想這麼多年來,一直沒變的就是我了吧。

很高興,也很感謝還有那麼多人記得我,對我那麼好。

好像不該發這麼多圖片的 紀念逝去的部落格,永遠活在我的127裡

Python程式碼

搬遷的Python的程式碼,雖然沒啥用,但算是記錄一下,供有需要的人學習學習

點擊查看程式碼 import os import re import time import requests from bs4 import BeautifulSoup from urllib.parse import urlparse, parse_qs # 指定文件路径 file_path = "C:\\Users\\Administrator\\Desktop\\blog\\content.txt" save_folder = "C:\\Users\\Administrator\\Desktop\\blog\\content\\" def save_to_file(data, file_name): try: file_path = os.path.join(save_folder, file_name + ".txt") with open(file_path, 'a', encoding='utf-8') as file: file.write(data) print("数据已成功保存到文件:", file_path) except Exception as e: print("保存文件时出错:", e) def remove_html_tags(text): soup = BeautifulSoup(text, 'html.parser') return soup.get_text() def comment(html_content): comment_matches = re.findall(r'<div class="comment (.*?)" id="comment-\d+">[\s\S]*?<img .*?inal=".*?202.*?/([^"]+)"/>[\s\S]*?<div ' + 'class="comment-content">(.*?)</div>[\s\S]*?itle=".*?">(.*?)</span>[\s\S]*?<span class="comment-time">(.*?)</span>', html_content, re.DOTALL) article_comments = '' if comment_matches: i = 0 for comment_match in comment_matches: if 'comment-children' in comment_match[0]: i += 1 is_reply_comment = '>' * i else: is_reply_comment = '>' i = 1 #头像 大小控制在40 # 兼容gravatar头像 https://secure.gravatar.com/avatar/ if 'gravatar.com' in comment_match[1]: avatar_url = '![](' + str(re.sub(r'(\?|&)s=\d+', '\\1s=40', str(comment_match[1]))) + ') ' else: parsed_url = urlparse(comment_match[1]) query_params = parse_qs(parsed_url.query) dst_uin = query_params.get('dst_uin', ['1638211921']) avatar_url = '![]('+'https://q1.qlogo.cn/g?b=qq&nk='+str(dst_uin[0])+'&s=40'+') ' comment_content = comment_match[2].strip() nickname = comment_match[3].strip() comment_time = comment_match[4].strip() link_url = re.search(r'030.*?/(.*?)" .*? rel', nickname) # 构造评论的markdown格式 comment_content = is_reply_comment + comment_content.replace('\n', '>') comment_content = comment_content.replace('##这篇评论是私密评论##', '[#这篇评论是私密评论#]') # 替换表情图片 soup = BeautifulSoup(comment_content, 'html.parser') for img in soup.find_all('img'): title_text = img.get('title', '') img.replace_with('[#'+title_text+']') comment_content = soup.get_text() # 保存评论用户的URL地址 if link_url: nickname = '['+remove_html_tags(nickname)+']' link_url = '(' + link_url[1] + ') ' else: link_url = '' nickname = remove_html_tags(nickname) + ' ' if i == 1: article_comments += '\n' article_comments += is_reply_comment + avatar_url + nickname + link_url + comment_time + '\n' + comment_content + '\n' return article_comments else: return '' def process_article(url): print("当前执行===="+url) response = requests.get(url) if response.status_code == 200: html_content = response.text soup = BeautifulSoup(html_content, 'html.parser') article_title = soup.find('h1', class_='article-title') article_mate = soup.find('div', class_='article-meta') article_article = soup.find('article', class_='article-content') soup_content = BeautifulSoup(article_article.prettify(), 'html.parser') img_tags = soup_content.find_all('img') pattern = r"https://web.*?_/" for img_tag in img_tags: if 'data-original' in img_tag.attrs: original_url = img_tag['data-original'] else: original_url = img_tag['src'] cleaned_url = re.sub(pattern, '', original_url) new_url = 'https://image.baidu.com/search/down?url=' + cleaned_url img_tag['src'] = new_url del img_tag['data-original'] article_comment = soup.find('div', class_='article_comment_list') data = "###### `当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`\n\n" + '###' + article_title.text.strip()+'\n\n'+article_mate.text.strip().replace('\n', '').replace('\r', '').replace('\t', '')+'\n' + soup_content.prettify().replace('<article class="article-content">', '').replace('</article>', '') save_to_file(data + '\n网友评论:\n\n', article_title.text.strip()) data = comment(html_content) if not data: return save_to_file(data, article_title.text.strip()) if article_comment: comment_links = re.findall(r'<a\s+href="(.*?)nts"', str(article_comment)) if comment_links: print('有分页评论数据') for link in comment_links: url = link +"nts" print(url) response = requests.get(url) if response.status_code == 200: html_content = response.text data = comment(html_content) if not data: return save_to_file(data, article_title.text.strip()) print("写分页评论数据中") else: print("Failed to retrieve the webpage.") def main(): with open(file_path, 'r', encoding='utf-8') as file: for line in file: segments = line.strip().split("----") if len(segments) > 0: url = segments[0] process_article(url) else: print("No URL found in the line.") print('开启下一篇文章') time.sleep(4) if __name__ == "__main__": main()

Powered by ❤️ with Hugo and Stack Theme.