使用python自動備份部落格

2021-06-23 00:16:45 字數 2380 閱讀 8619

用python寫了個程式,可以將csdn部落格的文章備份到本地,使用的時候只需要輸入

python版本為3.3.3,使用時需要安裝該版本的python直譯器。

from urllib import request

import re

import os

import time

#加上頭資訊,偽裝成瀏覽器訪問

def getcontent(url):

headers =

req=request.request(url, headers=headers)

content=request.urlopen(req).read().decode('utf-8')

return content;

def getallbloglinks(url):

"""獲得所有博文的鏈結"""

nextpageurl=url;

blogs=;

while nextpageurl!=none:

content=getcontent(nextpageurl)

blogpatternobj=re.compile(blogpattern);

tempblogs=blogpatternobj.findall(content)

blogs=blogs+tempblogs;

nextpagepatternobj=re.compile(nextpagepattern)

nextpage=nextpagepatternobj.findall(content)

if len(nextpage):

nextpageurl=nextpage[0]

nextpageurl=r""+nextpageurl;

# print(nextpageurl)

else:

nextpageurl=none

return blogs

def downloadblogs(blogs):

dir="""csdn備份"""

if not os.path.exists(dir):

os.mkdir(dir)

for blog in blogs:

time.sleep(1); #延時一秒,過快的訪問會引起502 bad gateway 錯誤

blogurl=blog[0]

blogtitle=blog[1]

blogurl=r""+blogurl

print(blogurl)

print(blogtitle)

content=getcontent(blogurl)

mainbodypattern="""[\\s\\s]*?"""

mainbodypatternobj=re.compile(mainbodypattern)

mainbody=mainbodypatternobj.findall(content);

filename=blogtitle

file=open(dir+'/'+filename+'.html', 'wb')

file.write(mainbody[0].encode('utf8')) #若使用瀏覽器檢視出現亂碼,請將瀏覽器解碼方式更改為utf8

file.close()

picturepattern="""

picturepatternobj=re.compile(picturepattern);

pictures=picturepatternobj.findall(mainbody[0])

if len(pictures)!=0:

picturedir=dir+'/'+filename;

if not os.path.exists(picturedir):

os.mkdir(picturedir)

i=0;

for pictureurl in pictures:

picturename=blogtitle+"_picture_"+str(i)

request.urlretrieve(pictureurl, picturedir+'/'+picturename)

i=i+1

#主程式

print("please type in your blog link") #輸入自己部落格首頁的位址即可

bloglink=input()

print(bloglink)

blogs=getallbloglinks(bloglink)

downloadblogs(blogs)

看看執行的效果:

自動備份Oracle資料庫 經典部落格

自動備份oracle資料庫 自動備份oracle資料庫 相信為數不少的系統管理員每天都在做著同一樣的工作 對資料進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行資料恢復,那麼此時就無能為力了。假如每天設定乙個固定的時間,系統自動進行備份,那該多好啊!下面筆者結合實踐經驗,談一談un...

mysql 自動備份許可權 Mysql 自動備份

很簡單的乙個自動備份方案 bas 件 backup.sh bin bash dbuser root dbpwd 123456 dbname jam00 delbackpath usr local mysql backup dbname date d 7 days ago y m d sql.gz r...

mysql自動備份開啟 MySQL自動備份

mysql user root 使用者名稱 mysql password password 密碼 mysql host localhost ip mysql port 3306 埠號 mysql charset utf8 編碼方式 backup db arr db name 要備份的資料庫名稱,多個...