`
yexin218
  • 浏览: 970672 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Python百度空间备份改进版1

阅读更多

Python备份百度博客 在此功能上做些代码优化,性能还有待...

'''
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说的是你最 新那篇博文的地址~

有个问题:如何支持中文目录呢?

分享到:
评论
2 楼 yexin218 2010-04-24  
凌绿寒绮 写道
呵呵 给我写个空间备份的啊 ^_^

QQ空间需要登入才能查看的,估计有点难
1 楼 凌绿寒绮 2010-04-24  
呵呵 给我写个空间备份的啊 ^_^

相关推荐

    python交换机自动备份脚本

    Python交换机自动备份脚本是一种高效管理网络设备的方法,它能帮助网络管理员便捷地备份多个交换机的配置,包括华为、思科、华三和Aruba等不同品牌的设备。这样的脚本大大提高了工作效率,减少了手动操作的繁琐和...

    Python地理空间分析指南(第2版)

    全书共分为10章,分别介绍了Python与地理空间分析、地理空间数据、地理空间技术、Python的地理空间分析工具、Python与地理信息系统、Python与遥感、Python与高程数据、Python与地理空间高级建模、实时数据、综合应用...

    python自动备份mysql数据库,并删除七天前文件

    本示例涉及的主题是使用Python来自动备份MySQL数据库,并且定期清理过期的备份文件,以保持存储空间的有效利用。下面将详细介绍这个过程以及相关的知识点。 首先,我们需要了解Python在数据库操作中的角色。Python...

    基于Python的数据版本备份、回滚源代码

    本文将深入探讨如何使用Python来实现数据版本备份与回滚源代码,结合UDP和TCP传输协议,同时也会提及提供的文档和演示视频。 首先,让我们了解一下Python在数据备份中的应用。Python以其简洁的语法和丰富的库支持,...

    python备份mysql数据库

    1. Python语言:Python是一种高级编程语言,以其简洁的语法和丰富的库资源而闻名。在备份MySQL数据库时,Python可以编写脚本来自动化这个过程。 2. MySQL数据库:MySQL是一款流行的开源关系型数据库管理系统,广泛...

    基于python的百度网盘批量转存工具.zip

    基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘批量转存工具.zip基于python的百度网盘...

    python_自动备份redis配置

    本脚本是用python写的,用于实现redis配置的自动备份。

    基于python的百度云网盘爬虫

    【标题】"基于Python的百度云网盘爬虫"是一个项目,旨在教用户如何使用Python编程语言编写程序来抓取并下载百度云网盘上的公开资源。该项目涵盖了网络爬虫技术,结合了百度云盘的API接口,以及可能涉及的前端和后端...

    python定时备份文件

    1. **Python定时器**: Python中有多种方式可以实现定时任务,例如`time`模块的`sleep()`函数,但更常用的是`schedule`库或`APScheduler`库。这两个库提供了更加灵活和强大的定时任务管理功能。 - **schedule库*...

    mongodb4.2全量定时增量备份python脚本

    总的来说,这个Python脚本提供了一个自动化备份解决方案,它不仅执行全量备份,还能根据`oplog`实现增量备份,大大减少了备份所需的时间和存储空间。这对于大型数据库和高并发环境来说尤其重要,因为它允许在不影响...

    python入门配套教程百度云分享.pdf

    python 教程百度云在此,请点击以下链 接: 千锋 Python 基础教程:http://pan.baidu.com/s/1qYTZiNE Python 课程教学高手晋级视频总目录: http://pan.baidu.com/s/1hrXwY8k Python 课程 windows 知识点:...

    Python3.5.1百度云链接下载

    1. **字典**:Python 3.5 对字典的实现进行了改进,提高了其性能,尤其是在处理大量键值对时。 2. **列表推导式**:列表推导式的性能也得到了提升,使得在创建列表时更加高效。 3. **内存管理**:对于内存管理进行了...

    python 华为锐捷交换机备份.zip

    1. FTP通信:Python提供了ftplib库来实现FTP通信。我们需要创建一个FTP对象,连接到交换机的FTP服务器,然后登录(通常使用交换机的用户名和密码)。接着,使用`ftp.retrbinary()`方法下载配置文件到本地。 2. 配置...

    Python开发-备份豆瓣计划

    7. **定时任务**: 为了实现定期备份,我们可以使用Python的`schedule`库或者其他定时任务工具如`APScheduler`,设置脚本在特定时间自动运行,从而实现数据的持续备份。 8. 版本控制:文件名`JimSunJing-douban_...

    python定时备份mysql数据库脚本

    本篇将详细解释如何使用Python编写一个定时备份MySQL数据库的脚本,以及如何通过代码实现仅保留最新几个备份文件的功能。 首先,我们需要了解Python中的两个关键库:`pymysql` 和 `schedule`。`pymysql` 是Python...

    python爬取百度图片

    python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片

    Python地理空间分析指南 第2版_14146502.pdf

    Python地理空间分析指南 第2版 pdf文档

    百度.py python 爬取百度搜索结果,及安全验证问题

    python 爬取百度搜索结果,及安全验证问题

    python实现ftp下载备份

    FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,而利用Python实现FTP下载备份功能可以帮助我们自动化地从远程服务器获取数据,确保数据的安全与可访问性。本教程将详细介绍如何使用Python来实现这...

    慕课python百度百科爬取1000个页面

    慕课python百度百科爬取1000个页面 里面分为五个python代码文件,从spider入口程序到爬取功能界面,所有代码已经运行通过,均可行

Global site tag (gtag.js) - Google Analytics