专栏首页有趣的Python和你用Python看我的2018

用Python看我的2018

前言

2018余额已不到两天,2018初的flag完成了几个?今天我利用Python爬虫和数据分析技术,分析我的2018年文章分享情况。

Python爬虫

爬虫分析

爬取的文章为简书网2018年的文章,为什么不选择公众号了?

  • 简书好爬
  • 公众号有转载 首先,简书分页使用了异步加载,我们先找下包,发现url很规律,换下page后面的数字就可以了。

现在还需要考虑的是:怎么确保文章都是2018年的。这里的处理方法为:首先多爬一些,然后在数据分析中进行筛选,选出2018年的数据即可。

爬虫代码
import requests
from lxml import etree
import csv
import time

headers={
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
}

f = open('1.csv','w+',encoding='utf-8',newline='')
writer = csv.writer(f)
writer.writerow(['title','view','comment','good','pub_time'])

def get_info(url):
    res = requests.get(url,headers=headers)
    html = etree.HTML(res.text)
    infos = html.xpath('//ul[@class="note-list"]/li')
    for info in infos:
        title = info.xpath('div/a/text()')[0]
        view = info.xpath('div/div/a[1]/text()')[1].strip()
        comment = info.xpath('div/div/a[2]/text()')[1].strip()
        good = info.xpath('div/div/span[1]/text()')[0].strip()
        pub_time = info.xpath('div/div//span[@class="time"]/@data-shared-at')[0]
        print(title,view,comment,good,pub_time)
        writer.writerow([title,view,comment,good,pub_time])


if __name__ == '__main__':
    urls = ['https://www.jianshu.com/u/9104ebf5e177?order_by=shared_at&page={}'.format(str(i)) for i in range(1,6)]
    for url in urls:
        get_info(url)
        time.sleep(2)

2018文章分析

前文提到,我们没办法确定保证全是2018年的数据,所以选择多爬一点,然后筛选,这里我们通过字符串的处理,把time数据切分年的数据。

data['year'] = data['pub_time'].str.split('T').str[0].str.split('-').str[0]

然后用布尔选择,筛选出2018年的数据,重新保存和读取。

data[data['year'] == '2018'].to_csv('2.csv',index=False)
总体情况
  • 2018总共写了42篇文章,相比于2017年,是少了很多的。
  • 平均阅读量388,这个比公众号高很多
  • 平均点赞7.5,低低低~ 总体来说,并不理想,还是要多输出呀~
阅读量最高的五篇文章

通过排序,看看2018我的爆文是哪些?

  • 杨超越一文阅读量最多,果然是锦鲤
  • 爬虫+数据分析文(结合热点)更容易上榜
  • 广告忽略
  • 机器学习系列也还不错
2018年文章月份分布

6月份是高产的一个月,3-5月断更,9月断更。 3-5月,在苏大联培,9月不记得为什么不更了~

哪个时间段发文

三个点:9、下午4、8点。 其实有时间我都会屯几篇文章,早上起来发(公众号首发),导致早上的最多,其实文章大部分都是晚上写的。。。

结语

长沙下雪了 你的城市了?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python数据分析之糗事百科

    最近一直忙着写材料,没给大家写作业的案例,第二期同学很厉害,都是抢着要作业做,哈哈,今天我就给大家写点爬虫的扩展和数据分析,让厉害的同学学起来。

    罗罗攀
  • Python数据分析之猫眼电影TOP100

    如果大家经常阅读Python爬虫相关的公众号,都会是以爬虫+数据分析的形式展现的,这样很有趣,图表也很不错,今天了,我就来分享上一次在培训中的一个作品:猫眼电影...

    罗罗攀
  • Python爬虫之Xpath学习问题解决用xpath方法爬取豆瓣图书top250分析总结

    罗罗攀
  • python多线程和多进程(二)

    1、multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。

    py3study
  • 死磕 java集合之DelayQueue源码分析

    从继承体系可以看到,DelayQueue实现了BlockingQueue,所以它是一个阻塞队列。

    彤哥
  • 管天管地,人工智能还能管你生不生孩子?

    人工智能技术快速发展,到目前为止,从工厂生产线到写字楼,从医院手术室到家庭,好像没有什么事情是人工智能机器人干不了,但是,最近居然有专家说,人工智能将帮人类解决...

    机器人网
  • python Crypto模块的使用

    前一个星期一直再弄爬取网易云音乐的评论,真是一波三折,网页又是动态js,普通的方法获取不了,还有它发送的参数也要经过加密才....这篇文章就是写一下Crypto...

    py3study
  • Oracle数据库须知

    不要使用字面量(常量)做查询条件的值,而要使用绑定变量给查询条件赋值,使用绑定变量是需要编译一次查询计划,编译结果保存在共享池(库缓存)中。

    城市中的游牧民族
  • 深度学习笔记:Tensorflow的安装——ubuntu下

    前言 之前写过一篇在windows下安装Tensorflow的教程。有小伙伴说之前不是说在Ubuntu装过么把那个也发一下,所以,补上一篇。 ? 安装anaco...

    企鹅号小编
  • Python安装模块

    一直以来,只会用Python –m pip install ***,在线安装,方便省事。 但有时安装包巨大,而且网络慢的情况,就不行了。今天试着用pip安装。 ...

    用户1075292

扫码关注云+社区

领取腾讯云代金券