'''
Created on Apr 23, 2010
@author: Leyond
'''
import urllib
from BeautifulSoup import BeautifulSoup
import re
def saveToFile(dir, htmlContent, title,url=""):
nFail = 0
dir +="/%s" % (url)
#print dir
while nFail < 1:
try:
myfile = open(dir, 'w')
myfile.write("<html><head><title>"+str(title)+"</title></head><body>"+str(htmlContent)+"</body></html>")
myfile.close()
return
except:
nFail += 1
print "%s download Fail." % (title)
def findNextBlogHtml(user,htmlContent):
urls = re.findall(r"var.*pre.*?/blog/item/.*?html",htmlContent,re.I)
if(len(urls)==1):
blogUrl = re.findall(r"/blog/item/\w*.html",urls[0],re.I)
print blogUrl[0]
if(len(blogUrl[0])>17):
htmlAddr = blogUrl[0][11:]
#print htmlAddr
else:
htmlAddr ="None"
else:
htmlAddr ="None"
return htmlAddr
def getBlogContentAndTitle(user,htmlUrl):
blogUrl="http://hi.baidu.com/" + user+"/blog/item/"+htmlUrl
sock = urllib.urlopen(blogUrl)
blogHtmlContent = sock.read()
sock.close()
htmlContent = unicode(blogHtmlContent,'gb2312','ignore').encode('utf-8','ignore')
# parser the html content
htmlsoup = BeautifulSoup(htmlContent)
blogContentBlock = htmlsoup.findAll("div",{"id":"m_blog"})
blogContentBlockZero = blogContentBlock[0].findAll("table",{"style":"table-layout:fixed;width:100%"})
#get the title
blogTitleZero = blogContentBlock[0].findAll("div",{"class":"tit"})
blogTitle = blogTitleZero[0].string
#get blog publish date
blogPublishDate = blogContentBlock[0].findAll("div",{"class":"date"})
blogDate = blogPublishDate[0].string
blogData =str("<B>"+blogDate+"</B>") + str(blogContentBlockZero[0])
return blogData,blogTitle,htmlContent
def backUpBlog(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)
#find next url
firstBlogUrl = findNextBlogHtml(user,htmlContent)
if firstBlogUrl != "None" :
backUpBlog(user,firstBlogUrl)
else:
print "Backup Finished"
backUpBlog(user="wbweast",firstBlogUrl= "235bf024035c721b8b82a1c6.html")
使用方法跟第一篇相同:
用之前,需要在文件所在目录新建一个目录,例如我的博客就是
codedeveloper,使用这段程序,需要更改两个参数:
其中user那里指的是你的用户名,firstBlogUrl说的是你最
新那篇博文的地址~
有个问题:如何支持中文目录呢?
分享到:
相关推荐
Python交换机自动备份脚本是一种高效管理网络设备的方法,它能帮助网络管理员便捷地备份多个交换机的配置,包括华为、思科、华三和Aruba等不同品牌的设备。这样的脚本大大提高了工作效率,减少了手动操作的繁琐和...
全书共分为10章,分别介绍了Python与地理空间分析、地理空间数据、地理空间技术、Python的地理空间分析工具、Python与地理信息系统、Python与遥感、Python与高程数据、Python与地理空间高级建模、实时数据、综合应用...
本文将深入探讨如何使用Python来实现数据版本备份与回滚源代码,结合UDP和TCP传输协议,同时也会提及提供的文档和演示视频。 首先,让我们了解一下Python在数据备份中的应用。Python以其简洁的语法和丰富的库支持,...
【标题】"基于Python的百度云网盘爬虫"是一个项目,旨在教用户如何使用Python编程语言编写程序来抓取并下载百度云网盘上的公开资源。该项目涵盖了网络爬虫技术,结合了百度云盘的API接口,以及可能涉及的前端和后端...
总的来说,这个Python脚本提供了一个自动化备份解决方案,它不仅执行全量备份,还能根据`oplog`实现增量备份,大大减少了备份所需的时间和存储空间。这对于大型数据库和高并发环境来说尤其重要,因为它允许在不影响...
python 教程百度云在此,请点击以下链 接: 千锋 Python 基础教程:http://pan.baidu.com/s/1qYTZiNE Python 课程教学高手晋级视频总目录: http://pan.baidu.com/s/1hrXwY8k Python 课程 windows 知识点:...
在Python编程环境中,与PostgreSQL(简称psql)数据库交互是一项常见的任务,特别是在需要定期备份和恢复数据的情况下。本文将详细介绍两种使用Python实现psql数据库备份和还原的方法,旨在为初学者提供清晰的指导。...
python百度网盘纯代码分片上传目录文件 不依赖第三方, AppKey等信息需要自己去申请。然后获取code码就可以一直使用。
7. **定时任务**: 为了实现定期备份,我们可以使用Python的`schedule`库或者其他定时任务工具如`APScheduler`,设置脚本在特定时间自动运行,从而实现数据的持续备份。 8. 版本控制:文件名`JimSunJing-douban_...
1. FTP通信:Python提供了ftplib库来实现FTP通信。我们需要创建一个FTP对象,连接到交换机的FTP服务器,然后登录(通常使用交换机的用户名和密码)。接着,使用`ftp.retrbinary()`方法下载配置文件到本地。 2. 配置...
在windows环境下通过Python对重要的文件进行备份,备份的文件将打包为zip格式。由于windows环境下不提供标准的zip命令进行打包,因此要通过GnuWin32安装zip命令,并将C:\Program Files (x86)\GnuWin32\bin添加到系统...
python 爬取百度搜索结果,及安全验证问题
Python Cookbook 第3版 中文版 Python Cookbook 第3版 中文版
FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,而利用Python实现FTP下载备份功能可以帮助我们自动化地从远程服务器获取数据,确保数据的安全与可访问性。本教程将详细介绍如何使用Python来实现这...
1. Python基础语法:介绍Python的基本语法、变量、数据类型、运算符、流程控制语句等基础知识。 2. 面向对象编程:介绍Python的面向对象编程思想、类、对象、继承、多态等概念。 3. 文件操作:介绍Python的文件...
在“python文件备份源码.rar”这个压缩包中,我们可以推测它包含的是使用Python编写的文件备份程序的源代码。这样的程序通常用于创建、管理和维护文件或目录的副本,以防原始数据丢失或损坏。 在Python中实现文件...
总之,《Python地理空间分析指南第2版》为我们提供了一个全面的地理空间分析框架和丰富的工具,以及如何在Python中使用这些工具的示例。无论是在学术研究还是实际应用中,这本书都是一本非常有帮助的参考资料。
Python3写的脚本,windows上应用的,实现服务器上的数据库通过磁盘映射备份到本地其他机器上的共享文件夹中,服务器上指定文件夹下的文件也备份到指定共享文件夹中,并发邮件通知
【Python编程语言】 Python是一种高级编程语言,以其简洁易读的语法和强大的功能而闻名。自去年以来,Python在人工智能领域的广泛应用推动了其排名的迅速攀升,使其成为编程界的首选语言。Python的热度不仅吸引了...
│ 千锋Python教程:05.Python数据类型,标识符,变量与常量以及Number数据类型1.mp4 │ 千锋Python教程:06.Python数据类型,标识符,变量与常量以及Number数据类型2.mp4 │ 千锋Python教程:07.Python数据类型,标识符,...