其实真的很丑,而且使用的递归的方式,所以要等所有下载完了才会显示结果。有点郁闷:更多的期待
代码:
baidublog.py: 这个在前一篇文章的基础上,修改了下一篇文章地址的查找:
def findNextBlogHtml(user,htmlContent):
htmlBlogContent = unicode(htmlContent,'gb2312','ignore').encode('utf-8','ignore')
# parser the html content
htmlsoup = BeautifulSoup(htmlBlogContent)
nextBlogUrlZero = htmlsoup.findAll("div",{"class":"opt"})
urlRe = re.compile('/.*?.html')
urls = urlRe.findall(str(nextBlogUrlZero[0]))
if(len(urls)>=1):
blogUrl = re.findall(r"\w*.html",urls[0],re.I)
if (len(blogUrl[0]) >6 ):
htmlAddr = blogUrl[0]
else:
htmlAddr ="None"
else:
htmlAddr ="None"
print htmlAddr
接下来是图形界面:
#-*- coding: utf-8 -*-
from Tkinter import *
from baidublog import *
class GridDemo( Frame ):
def __init__( self ):
Frame.__init__( self )
self.master.title( "Baidu Blog Backup" )
self.grid( sticky = W+E+N+S )
self.label1 = Label( self,text="百度用户名:",width = 5 )
self.label1.grid( row = 0, column = 1, sticky = W+E+N+S )
self.entry1 = Entry(self,width=20)
self.entry1.grid(row=0,column=2)
self.entry1.insert(INSERT, "codedeveloper")
self.label2 = Label( self,text="第一篇博文地址:",width = 8 )
self.label2.grid( row = 0, column = 3, sticky = W+E+N+S )
self.entry2 = Entry(self,width=40)
self.entry2.grid(row=0,column=4,sticky = W+E+N+S)
self.entry2.insert(INSERT, "977f3010ab7e17dcf7039e99.html")
self.text = Text(self)
self.text.grid(row =1,columnspan = 5,sticky = W+E+N+S)
self.button = Button(self,text='Backup', width = 30,command=self.startBackupBlog)
self.button.grid(row=2, columnspan =5)
def startBackupBlog(self):
user = self.entry1.get()
firstBlogUrl = self.entry2.get()
self.backupAction(user, firstBlogUrl)
def backupAction(self,user,firstBlogUrl):
#first read first blog's title and content
blogContent, blogTitle,htmlContent = getBlogContentAndTitle(user,firstBlogUrl)
#save the html to file
saveToFile(user,blogContent,blogTitle,firstBlogUrl)
self.text.insert(INSERT,str( blogTitle)+"-"+str(firstBlogUrl))
#find next url
firstBlogUrl = findNextBlogHtml(user,htmlContent)
if firstBlogUrl != "None" :
self.backupAction(user,firstBlogUrl)
#self.text.insert(INSERT, "More")
else:
self.text.insert(INSERT, "\n恭喜全部备份完毕!")
def main():
GridDemo().mainloop()
if __name__ == "__main__":
main()
个人觉得:还是先读取文章分类中所有文章链表,然后根据线程等下载方式,可以提高效率
- 大小: 57.3 KB
分享到:
相关推荐
豆约翰博客备份专家是用法简单,功能强大的博客备份工具,博客电子书(PDF,CHM,WORD和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(新浪微博,腾讯说说,QQ空间,新浪博客,宝宝树...
豆约翰博客备份专家是完全免费,功能强大的博客备份工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(QQ空间,百度空间,新浪博客,网易博客,豆瓣日记,...
豆约翰博客备份专家[1]是完全免费,功能强大的博客备份工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(QQ空间,百度空间,新浪博客,网易博客,豆瓣日记,...
方便快捷的为您及您的朋友们的博客提供备份及搬家服务。 全新的UI界面并实现了博客增量备份、博客搬家的功能。 支持众多国内外博客服务商及各种开放API的独立博客。 希望csdn尽快发布搬家工具。
在这个实战博客中,我们将创建一个Java数据备份工具,演示如何使用Java编程语言和文件处理技术来备份数据到本地或云存储。 以下是本实战博客的主要内容: 项目概述 准备工作 创建Java项目 设计用户界面 实现本地...
仿Windows风格,向导式操作,界面美观功能齐全 可以对以下内容进行备份和还原(支持rar格式备份): 我的文档 收藏夹 桌面 cookies 主题及壁纸 OEM信息 系统服务列表、 网络IP及DNS设置(支持多网卡) 宽带ADSL密码...
菊子曰可轻松管理和备份多个博客与微博,文章和微博内容离线编辑,即时保存,一键备份,无须登录即可一键群发博客和微博,节省大量时间,使工作效率达到事半功倍,是“个人写博/微博爱好者”以及“专业的博客营销者...
软件帮助站长和博客写手快速发送博客文章到博客网站,可以方便管理博客数据,支持数据自动备份恢复、博客库自动更新、发文章时动态伪原创功能等诸多功能,帮助用户优化网站排名,是用户实现博客推广功能的好帮手。...
源码备份(QQ_20130905134551.zip),目前只完成了基本界面。 http://blog.csdn.net/zddblog/article/details/11098911博客资源
界面美观:博客系统提供了一个简洁、美观的界面设计,使用户可以轻松浏览和阅读博客文章。 搜索功能:博客系统提供了全文搜索功能,用户可以根据关键词搜索博客文章。 数据备份和恢复:博客系统支持数据的备份和...
10.本个人博客系统能够适应各种界面浏览器,后台可手机随时随地访问、管理和更新网站; 11.可一键切换成.shtml、.html、.htm、.asp、.aspx、.cgi、.php、.jsp、.cgi、/ 等网页后缀,模拟不同语言编程的网站程序; 12...
1、备份数据库,程序文件,防止意外。 2、将1.0 程序中的instal 文件夹放置在程序中。 3、执行install ,点击从0.5升级到1.0beta 4、从下来菜单中选择从0.5升级到1.0beta。 5、点击升级,出现数据表升级提示。...
自动页面备份(执行一个备份就和单击鼠标一下一样简单) 简单的用户帐户系统 (管理员和用户以及一个内置 admin 帐户) 页面可分类和讨论 页面嵌入和部分显示 阻止恶意文件,脚本,垃圾信息 (注册时需要Captcha 验证...
10.本个人博客系统能够适应各种界面浏览器,后台可手机随时随地访问、管理和更新网站; 11.可一键切换成.shtml、.html、.htm、.asp、.aspx、.cgi、.php、.jsp、.cgi、/ 等网页后缀,模拟不同语言编程的网站程序; ...
Tale是一款简洁美观的Java博客系统,让每一个有故事的人更好的表达想法!... 特性: 设计简洁,界面美观 Markdown文章发布 支持多主题 支持Emoji表情 支持网易云音乐播放 支持附件和数据库备份 部署发布简单
1、支持轻量的SQLite数据库,备份或搬家时直接通过FTP下载全部文件即可,灵活方便; 2、全新WebOS管理界面,配合精心设计的Ajax交互操作,带来与时俱进的优秀的用户体验; 3、完全模块化和插件化的架构设计,自由...
7. **数据安全与备份**:采取加密技术和定期备份机制,确保数据的安全性和可靠性。 8. **友好的用户操作界面**:界面直观易用,降低用户学习成本,并提供多语言支持。 9. **易于维护和扩展**:前后端分离架构和...
:cherry_blossom:欣赏 :sparkles:全新主题,支持黑暗模式 :chart_increasing:后台管理,酷炫统计表,完整黑暗模式支持 :magnifying_glass_tilted_left:搜索界面,一搜即达 :camera_with_flash:登录界面,定期自动...
10. **备份与恢复**:提供文章和评论数据的备份机制,以防数据丢失可以快速恢复。 通过这些功能,基于Spring Boot的精简博客系统不仅降低了个人博客搭建和维护的复杂性,还提供了足够的灵活性来满足不同用户的个性...
10.本个人博客系统能够适应各种界面浏览器,后台可手机随时随地访问、管理和更新网站; 11.可一键切换成.shtml、.html、.htm、.asp、.aspx、.cgi、.php、.jsp、.cgi、/ 等网页后缀,模拟不同语言编程的网站程序; 12...