第二个爬虫:查看csdn博客阅读数

  年轻人嘛,总是有一点功利心理,发一篇博客,不管内容质量怎么样,总是想得到更多的浏览量,就像渴求朋友圈的赞一样。但是频繁的上自己的博客只是为了看一眼浏览数或者有无评论,感觉听麻烦,所以就写了个爬虫抓一下数据。

说明:

  • CSDN某用户的文章列表是这种网址http://blog.csdn.net/u011130578/article/list/,但是写博客多的用户,会有很多叶列表,这该怎么爬呢?这里有个投机取巧的办法是,在list后面输入一个足够大的数(比如某用户写了100篇博客,每页罗列20篇博文,那么一共就有5页网页来展示你的博文,只要这个数字大于5就ok),比如http://blog.csdn.net/u011130578/article/list/200,那么这个网址就会把该用户所有的文章全部列出来,然后直接截取数据就ok

      

  • 正则表达式部分有瑕疵。应该有一个表达式把三项数据全都截取出来的办法,但是太弱了不会写,还得学。:)
  • #引入库文件
    import re
    import urllib
    import urllib.request
    
    #标题标号
    cnt = 1
    #爬虫开始的网址
    url = ‘http://blog.csdn.net/u011130578/article/list/200‘
    #截取文章题目的正则
    rule_title = r‘<span class="link_title"><a.*?>((?:.|[\r\n])*?)</a></span>‘
    #截取文章点击数的正则
    rule_click = r‘<span class="link_view".*?><a.*?>.*?</a>((?:.|[\r\n])*?)</span>‘
    #截取文章评论数的正则
    rule_comment = r‘<span class="link_comments".*?><a.*?>.*?</a>((?:.|[\r\n])*?)</span>‘
    #模拟浏览器,加入User-Agent
    request = urllib.request.Request(url, headers = {
                ‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1)             AppleWebKit/537.36 (KHTML, like Gecko)             Chrome/50.0.2657.3 Safari/537.36‘
        })
    
    try:
        html = urllib.request.urlopen(request)
        data = html.read()
    
        titles = re.compile(rule_title)
        title = titles.findall(data.decode(‘UTF-8‘))
        clicks = re.compile(rule_click)
        click = clicks.findall(data.decode(‘UTF-8‘))
        comments = re.compile(rule_comment)
        comment = comments.findall(data.decode(‘UTF-8‘))
    
        for n in range(len(title)):
            print(str(cnt)+"\n"+title[n]+"view-"+click[n]+"\n\tcomments-"+comment[n])
            cnt += 1
    except:
        print(‘error‘)
    

    运行截图就是这样:

      如果每次在DOS框敲执行命令也觉得费劲的话,可以对代码做一个死循环处理,来定时查看某项数据(在linux下可以使用crontab来定时自动化执行)。

    import time
    
    ...
    ...
    
    while 1:
        try:
            html = urllib.request.urlopen(request)
            data = html.read()
    
            titles = re.compile(rule_title)
            title = titles.findall(data.decode(‘UTF-8‘))
            clicks = re.compile(rule_click)
            click = clicks.findall(data.decode(‘UTF-8‘))
            comments = re.compile(rule_comment)
            comment = comments.findall(data.decode(‘UTF-8‘))
    
            print(click[0])
            #for n in range(len(title)):
            #    print(str(cnt)+"\n"+title[n]+"view-"+click[n]+"\n\tcomments-"+comment[n])
            #    cnt += 1
        except:
            print(‘error‘)
        #180s = 3mins
        time.sleep(180)

    运行截图;

    时间: 2024-10-16 13:56:09

    第二个爬虫:查看csdn博客阅读数的相关文章

    [python爬虫] Selenium爬取CSDN博客摘要及问题

    本文主要是采用Selenium来爬取CSDN的博文摘要,为后面对CSDN的热点技术.近几年专家发表的博客作数据分析.由于采用BeautifulSoup爬取该网站会报错"HTTPError: Forbidden",所以作者采用Selenium爬取.同时,在爬取过程中遇到了局部动态更新的问题,无法定位换页的问题,作者采用Firebug进行分析,也希望读者提出更好的方法.代码下载地址: 一. CSDN博客网站分析及问题 本文主要爬取CSDN专家的博客,因为专家的论文水平相对高点,同时专栏较多

    python爬虫爬取csdn博客专家所有博客内容

    python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 结果如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

    CSDN博客文章必须要登录才能查看解决办法

    1 将此文章存到书签栏. 2 右键点击保存到书签栏的这个书签,然后点击修改. 3 名称改为:CSDN查看全文,网址改为: javascript:$("#article_content").css({"height":"auto","overflow":"auto"});$(".hide-article-box").css({"display":"none&q

    Python 实用爬虫-04-使用 BeautifulSoup 去水印下载 CSDN 博客图片

    Python 实用爬虫-04-使用 BeautifulSoup 去水印下载 CSDN 博客图片 其实没太大用,就是方便一些,因为现在各个平台之间的图片都不能共享,比如说在 CSDN 不能用简书的图片,在博客园不能用 CSDN 的图片. 当前想到的方案就是:先把 CSDN 上的图片都下载下来,再手动更新吧. 所以简单写了一个爬虫用来下载 CSDN 平台上的图片,用于在其他平台上更新图片时用 更多内容,请看代码注释 效果演示 Python 源代码 提示: 需要先下载 BeautifulSoup 哦,

    Python爬取CSDN博客文章

    之前解析出问题,刚刚看到,这次仔细审查了 0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...47分钟前1 url :http://blog.csdn.net/youyou1543724847/

    Android应用开发-小巫CSDN博客客户端之显示博文详细内容

    Android应用开发-小巫CSDN博客客户端之显示博文详细内容 上篇博文给大家介绍的是如何嵌入有米广告并且获取收益,本篇博客打算讲讲关于如何在一个ListView里显示博文的详细信息,这个可能是童鞋们比较困惑的,因为一篇博客可能有标题.摘要.图片.代码等等元素组成,我们要怎么在一个界面中显示这些内容并且按照自己的指定的方式显示呢,别急,下面会告诉大家. 重新整理一下一篇博文可能有以下元素: 标题 摘要 文本内容 图片 粗标题 代码块 在UI篇小巫已经介绍了,博文详细内容的主要控件就是一个Lis

    Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

    Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

    Android应用开发-小巫CSDN博客客户端Jsoup篇

    Android应用开发-小巫CSDN博客客户端Jsoup篇 距上一篇博客已经过去了两个星期,小巫也觉得非常抱歉,因为在忙着做另外一个项目,几乎抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本篇博客将会给大家介绍如何使用Jsoup这个库来解析我们的网页,并且如何对我们想解析的网页进行分析. Jsoup这个库的下载地址:http://jsoup.org/download 笔者这里使用的jsoup-1.7.2 下载完之后复制到项目中的libs目录下即可: Jsoup的资料比较少,可供参考的可到其官

    Android应用开发-小巫CSDN博客客户端开发开篇

    Android应用开发-小巫CSDN博客客户端开发开篇 2014年9月8日 八月十五 祝各位中秋节快乐 小巫断断续续花了几个星期的时间开发了这么一款应用--小巫CSDN博客,属于私人定制的这样的一款应用,整个客户端的数据全部来自本人博客,是通过爬取本人博客地址html页面,然后解析html把数据提取出来,整个客户端的技术难点主要是如何对html界面进行分析和使用Jsoup对html代码进行解析.目前本人的这款应用已经开发出来了,近段时间会提交应用商店进行审核,不久大家就可以看到这么一款逼格满满的