# 请尊重原创,转载请注明出处:https://blog.youkuaiyun.com/qq_34175893/article/details/79755967
最近因为经常上优快云上看看自己的文章浏览量什么的,但是因为QQ的登录实在是让人无话可说,并且没有记录,每天看到的都是当前的,看不到进步的感觉,所以就自己写了个爬虫程序,用来查看记录自己的个人统计数据,先贴上结果
上面的框出来的就是要记录的数据,所有的数据记录在My 优快云 Record/record.txt中,方便日后查看
文件记录内容如下
下面贴上代码
# coding:utf-8
# 写于 2018-3-30
# python版本:2.7
# 功能: 统计个人的优快云的文章的阅读量信息
# 使用方法: 直接将开始的URL变量修改为自己的个人文章列表的主页,运行即可
import urllib
import re
import time
URL="https://blog.youkuaiyun.com/qq_34175893?viewmode=list"
html_text=urllib.urlopen(URL).read()
p=re.compile('\s+')
html_text=re.sub(p,'',html_text)
print html_text
results=re.findall(r"<spanclass=\"link_title\"><ahref.*?>(.*?)</a>.*?"
r"\"link_postdate\">(.*?)</span>.*?"
r"阅读</a>\((.*?)\).*?"
r"评论</a>\((.*?)\)",html_text,re.S)
for result in results:
print "%-36s\t\t%s \t 阅读次数 %s 评论次数 %s"%(result[0][0:29],result[1],result[2],result[3])
results=re.findall(r"<divclass=\"gradeAndbadgegradewidths\"title=\"(.*?)\"",html_text,re.S)
now_time = time.asctime(time.localtime(time.time()))
record_info="日期: %s 访问量:%s 积分: %s 排名:%s\n"%(now_time,results[0],results[1],results[2])
print "\n%s"%record_info
file=open("My 优快云 Record/record.txt","a")
if(file):
print '打开%s成功'%file.name
file.write(record_info) #write方法没有返回值,所以也无须进行判断,直接打印输入成功了
print '记录成功'
2018-4-30更新今天突然想起来好久没有统计记录了,运行了一下发现优快云居然又又又更新了,而且对源代码还进行了比较大的改动,下面附上针对新版本的代码
# coding:utf-8
# 写于 2018-3-30
# python版本:2.7
# 功能: 统计个人的优快云的文章的阅读量信息
# 使用方法: 直接将开始的URL变量修改为自己的个人文章列表的主页,运行即可
import urllib
import re
import time
URL="https://blog.youkuaiyun.com/qq_34175893?viewmode=list"
html_text=urllib.urlopen(URL).read()
# 去掉html文档中的空格换行等字符
p=re.compile('\s+')
html_text=re.sub(p,'',html_text)
#print html_text
results=re.findall(r"</span>(.*?)</a></h4>.*?"
r"<spanclass=\"date\">(.*?)</span>.*?"
r"阅读数:(.*?)</span>.*?"
r"评论数:(.*?)</span>",html_text,re.S)
for result in results:
print "%-36s\t\t\t\t\t\t%s \t 阅读次数 %s 评论次数 %s"%(result[0],result[1],result[2],result[3])
fangwen_jifen=re.findall(r"<ddtitle=\"(.*?)\"",html_text,re.S)
paiming=re.findall(r"<dltitle=\"(.*?)\"",html_text,re.S)
#now_time = time.asctime(time.localtime(time.time()))
now_time = time.ctime() #获取时间的方法
record_info="日期: %s 访问量:%s 积分: %s 排名:%s\n"%(now_time,fangwen_jifen[0],fangwen_jifen[1],paiming[0])
print "\n%s"%record_info
file=open("My 优快云 Record/record.txt","a")
if(file):
print '打开%s成功'%file.name
file.write(record_info) #write方法没有返回值,所以也无须进行判断,直接打印输入成功了
print '记录成功'