直接上代码:

#!/usr/bin/env python3
#antuor:Alan
#-*- coding: utf-8 -*- import requests
from lxml import etree
import datetime,time
import os class xxoohelper(object): #易读
def __init__(self):
self.url = 'http://www.cnblogs.com/alan-babyblog/' #初始化
def getSource(self):
html = requests.get(self.url).content #content比text好用,一个返回的是byte,一个返回的是str
return html
def getContent(self,html): #先大后小
selector = etree.HTML(html)
title = selector.xpath('//div[1]/div[2]/a/text()')[0].strip() #从列表提取文本
content = selector.xpath('//div[1]/div[2]/div[1]/div/div[1]/div[3]/div/text()')[0].strip()
post_time = selector.xpath('//div[1]/div[2]/div[1]/div/div[1]/div[5]/text()')[0].strip()
send_text = title+content+post_time #类型是str
return send_text
def tosave(self,text):
with open('myblog.txt','a') as f:
f.write(('{0}\n').format(text)) #换行
def tocheck(self,data):
if not os.path.exists('myblog.txt'): #判断是否存在文件
return True
else:
with open ('myblog.txt','r') as f:
existblog = f.readlines()
#print(data+'\n')
if data +'\n' in existblog: #判断是否已经纪录过内容
return False
else:
return True
if __name__ == '__main__': #程序入口
helper = xxoohelper() #实例化
while True : #while循环不断监控页面
source = helper.getSource()
content = helper.getContent(source)
if helper.tocheck(content):
post_time = str(datetime.datetime.now())
print(post_time,'有新内容\n',content)
helper.tosave(content)
else:
print('扫描中......')
pass
time.sleep(30)

  

python静态网页爬虫之xpath(简单的博客更新提醒功能)的更多相关文章

  1. python静态网页爬虫之xpath

    常用语句: 1.starts-with(@属性名称,属性字符相同部分)使用情形: 以相同的字符开头 <div id = 'test-1'>需要的内容1</div> <di ...

  2. Python Web开发:Django+BootStrap实现简单的博客项目

    创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...

  3. Python静态网页爬虫相关知识

    想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...

  4. Python编写网页爬虫爬取oj上的代码信息

    OJ升级,代码可能会丢失. 所以要事先备份. 一開始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启示和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 p ...

  5. Python动态网页爬虫-----动态网页真实地址破解原理

    参考链接:Python动态网页爬虫-----动态网页真实地址破解原理

  6. [Python爬虫笔记][随意找个博客入门(一)]

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

  7. 2018-8-10-如何使用-C#-爬虫获得专栏博客更新排行

    title author date CreateTime categories 如何使用 C# 爬虫获得专栏博客更新排行 lindexi 2018-08-10 19:16:51 +0800 2018- ...

  8. 如何使用 C# 爬虫获得专栏博客更新排行

    昨天,梦姐问我们,她存在一个任务,找到 关注数排行100 和 浏览量排行100 的专栏博客,在2017年还有更新的专栏. 梦姐说他要出去一趟,M大神在吃饭,于是我估算时间,只有半个钟. 整理一下:半个 ...

  9. django初探-创建简单的博客系统

    django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...

随机推荐

  1. Fedora 修改时区、日期、时间

    # tzselect 修改时间命令 [root@comput1 ~]# tzselectPlease identify a location so that time zone rules can b ...

  2. http://www.oschina.net/question/1019034_153316

    http://www.oschina.net/question/1019034_153316 http://www.oschina.net/question/97503_212116?sort=tim ...

  3. BUPT复试专题—解析表达式(2015)

    题目描述 输入一个字符串形式的表达式,该表达式中包括整数,四则运算符(+.-.*./),括号,三角函数(sin(x).cos(x).tan(x)),底数函数(lg(x).ln(x)),计算该表达式的值 ...

  4. 构建高性能web站点-1

    以下为阅读<构建高性能web站点>郭欣 著 这本书的适合读者: 1.编写web程序.关心站点性能,并且希望自己做的更加出色的开发人员 2.关心性能和可用性的web架构师 3.希望构建高性能 ...

  5. [Spring Boot] Adding JPA and Spring Data JPA

    JPA is just like a helper class for providing data for Controller, has method like 'findOne', 'findA ...

  6. Linux 平台如何查看某个进程的线程数?

    Linux 平台如何查看某个进程的线程数?   三种方法:1. 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程. 2. 使用ps命令,具体用法是 ...

  7. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)—— 手把手教你创建第一个三层架构+mvc的asp.net项目

    下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目 ...

  8. 【转载】HTTP和SOAP完全就是两个不同的协议

    http:是一个客户端和服务器端请求和应答的标准(TCP). http协议其目的是为了提供一种发布和接收htttp页面的方法 http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个 ...

  9. linux查找yum和rpm安装路径

    linux查找yum和rpm安装路径 转:https://jingyan.baidu.com/article/86112f1378bf282737978730.html

  10. unity, 内存profile,ImageEffects Temp和Unity GI SystemTex RGBM

    最近用unity的Profiler对公司项目进行内存profile,发现一些问题,记录一下. 用Memory Area的Detailed View,用法见:http://docs.unity3d.co ...