Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python玩转简书钻

Python玩转简书钻

作者头像
罗罗攀
发布于 2018-12-19 08:51:33
发布于 2018-12-19 08:51:33
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

前言

2018年11月15号,简书迎来大变革,取消了以往的积分制度,换为去中心化的简书钻,每日发放一万简书钻。首先,简书给出了获取钻石的途径:写文点赞,与以往的阅读,评论,点赞,关注,写作都能获取积分(不同操作获取的积分不同)不一样,现在的途径更加简单和方便。其次,也说明了获取钻石的多少取决于用户的投票(钻石越多投票权重越大)。 简书每天都会公布前一天的排名,通过编写代码,获取20181115到20181126的数据,并进行分析。

爬虫

爬虫分析

简书钻的排行采用了异步加载,我们通过找包来获取数据,这里分为文章排名和用户排名,我们单独编写代码和单独存储。

文章排名代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import json
import csv
import time

headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}

def get_info(url):
    res = requests.get(url,headers=headers)
    # print(res.text)
    json_data = json.loads(res.text)
    notes = json_data['notes']
    for note in notes:
        title = note['title']
        author_nickname = note['author_nickname']
        author_fp = note['author_fp']
        voter_fp = note['voter_fp']
        fp = note['fp']
        print(title,author_nickname,author_fp,voter_fp,fp)
        writer.writerow([title,author_nickname,author_fp,voter_fp,fp])

if __name__ == '__main__':
    fp = open('article.csv','w+',encoding='utf-8')
    writer = csv.writer(fp)
    writer.writerow(['title','author_nickname','author_fp','voter_fp','fp'])
    urls = ['https://www.jianshu.com/asimov/fp_rankings/voter_notes?date={}'.format(i) for i in range(20181115,20181127)]
    for url in urls:
        get_info(url)
        time.sleep(1)
用户排名代码

这里除了获取排名外,还对用户是否为简书会员(这个在分析中解释)进行了判断。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import json
import csv
import time
from lxml import etree

headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}

def get_info(url):
    path = 'https://www.jianshu.com/u/'
    res = requests.get(url,headers=headers)
    # print(res.text)
    json_data = json.loads(res.text)
    users = json_data['users']
    for user in users:
        slug = user['slug']
        author_url = path + slug
        style = jug_vip(author_url)
        author_nickname = user['nickname']
        author_fp = user['author_fp']
        voter_fp = user['voter_fp']
        fp = user['fp']
        print(author_nickname,author_url,author_fp,voter_fp,fp,style)
        writer.writerow([author_nickname,author_url,author_fp,voter_fp,fp,style])

def jug_vip(url):
    res = requests.get(url, headers=headers)
    html = etree.HTML(res.text)
    infos = html.xpath('//ul[@class="list user-dynamic"]/li')
    str = ''
    for info in infos:
        jug = info.xpath('string(.)').strip()
        str = str + jug
    if str.find('简书尊享会员') != -1:
        return '简书尊享会员'
    elif str.find('简书会员') != -1:
        return '简书会员'
    else:
        return '非会员'

if __name__ == '__main__':
    fp = open('user.csv','w+',encoding='utf-8')
    writer = csv.writer(fp)
    writer.writerow(['author_nickname','author_url','author_fp','voter_fp','fp','style'])
    urls = ['https://www.jianshu.com/asimov/fp_rankings/voter_users?date={}'.format(i) for i in range(20181115,20181127)]
    for url in urls:
        get_info(url)
        time.sleep(1)

数据分析

文章TOP10

首先,我们看看获取简书钻最多的前10篇文章。

文章涉及的内容,大部分都是和简书钻的分享有关,因为简书钻是最近才开始运营的,跟着这个热点走,曝光率与投票也会相应的多一些。

文章词云

10篇文章可能看到的还是比较局限,我们看看到底哪些文章更容易上榜。我们采取制作词云的方式,看看哪些关键词是最多的。

通过关键词,我们发现,可以将关键词分为两类:

  1. 简书钻相关:
  • 比特币
  • Fountain(简书合作伙伴)
  • Poc
  • 社区等
  1. 干货相关
  • 文章
  • 笔记
  • 导图(这个是长期霸屏用户使用的title:思维导图实战派_汪志鹏) 初步我们可以分析出:我们结合热点以及自身的行业,是比较容易上榜的(没那么简单。。。)。
用户TOP10

如果只是知道文章title规律,我们这种普通人也是很难上榜的。接下来,我们再通过上榜的用户来分析,看看规律。首先是top10。

这些用户排行靠前,大家可以看看这些用户平时的一个分析作品,学习学习。

霸屏用户

我总共爬取了12天的数据,通过代码发现,很多用户12天都上榜了,这种霸屏用户真的是羡慕嫉妒恨。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'书院的夫子', 'linwood', '那個長江', '達士通人', '我是北崖君', '简书钻首席小管家', '宿醉弥生', '乐健君',
       '思维导图实战派_汪志鹏', 'altcoin', '淡月6688', '临湖风徐徐道来', '小尘2016', '我是四海szw',
       '中本葱老爷爷', 'weiblock', '蒋坤元', '且行且影', '荆白', '苍天鸭', '脸谱大叔', '肆月初陆',
       '币圈Tesla', '无戒', '段维Tina', '紫萤石', '陈天宇123', 'Jianan嘉楠', '春木sky', '梦之蓝色',
       '杀个程序猿祭天', '霖山', '雪球薅羊毛', 'Carykive', '木木大木木', '大琦有钻', '李砍柴', '杰夫1',
       '写手圈', '静夜思007'
简书会员or非会员

在前文说到过,获取的钻石很大情况下取决你先拥有的简书钻,简书尊享会员就会拥有很多的简书钻,这也就导致上榜人数中,简书会员的比重占了一大部分。

总结

  • 结合简书钻热点上榜高
  • 你难道不考虑下简书尊享会员么?
  • 自身的努力也很重要,坚持写作,分享干货,这就是简书。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.11.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Scrapy(4)spider 帮助你寻找最美小姐姐
我们都知道我们平常想下载一些漂亮的图片来装饰自己的桌面,可是找到了都是需要收费的网站,真的很恼火,所以今天小编,可能要带大家实现这么一个工具,可以用来爬取某个网站的好看的图片
公众号---人生代码
2020/05/16
5020
起点小说爬取--scrapy/redis/scrapyd
之前写了一篇网络字体反爬之pyspider爬取起点中文小说 可能有人看了感觉讲的太模糊了,基本上就是一笔带过,一点也不详细。这里要说明一下,上一篇主要是因为有字体反爬,所以我才写了那篇文章,所以主要就是提一个字体反爬的概念让大家知道,其中并没有涉及到其他比较难的知识点,所以就是大概介绍一下。
星星在线
2018/08/21
1.8K0
起点小说爬取--scrapy/redis/scrapyd
收藏| Scrapy框架各组件详细设置
大家好,关于Requests爬虫我们已经讲了很多。今天我们就说一下Scrapy框架各组件的详细设置方便之后更新Scrapy爬虫实战案例。
刘早起
2020/05/14
7430
分布式爬虫搭建系列 之三---scrapy框架初用
其次,通过我们的神器PyCharm打开我们的项目--crawlquote(也可以将PyCharm打开我们使用虚拟环境创建的项目)
wfaceboss
2019/04/08
5860
分布式爬虫搭建系列 之三---scrapy框架初用
Python自动化开发学习-Scrapy
讲师博客:https://www.cnblogs.com/wupeiqi/p/6229292.html 中文资料(有示例参考):http://www.scrapyd.cn/doc/
py3study
2020/01/08
1.6K0
新闻推荐实战(四):scrapy爬虫框架基础
本文属于新闻推荐实战-数据层-构建物料池之scrapy爬虫框架基础。对于开源的推荐系统来说数据的不断获取是非常重要的,scrapy是一个非常易用且强大的爬虫框架,有固定的文件结构、类和方法,在实际使用过程中我们只需要按照要求实现相应的类方法,就可以完成我们的爬虫任务。文中给出了新闻推荐系统中新闻爬取的实战代码,希望读者可以快速掌握scrapy的基本使用方法,并能够举一反三。
用户9656380
2022/04/14
8780
新闻推荐实战(四):scrapy爬虫框架基础
#Python爬虫#Item Pipeline介绍(附爬取网站获取图片到本地代码)
当spider爬取到item后,它被发送到项目管道(Item Pipeline),通过几个组件按顺序进行处理。每一个Item Pipeline是一个实现了简单方法的Python类,它接收到一个item并对其执行一个操作,也要决定该item是否应该继续通过管道,或者被丢弃,不再进行处理。
程序员迪迪
2022/01/06
1.4K0
scrapy框架
scrapy genspider 应用名称 爬取网页的起始url (例如:scrapy genspider qiubai www.qiushibaike.com)
全栈程序员站长
2022/09/07
1.7K0
scrapy框架
一个scrapy框架的爬虫(爬取京东图书)
我们的这个爬虫设计来爬取京东图书(jd.com)。 scrapy框架相信大家比较了解了。里面有很多复杂的机制,超出本文的范围。 1、爬虫spider tips: 1、xpath的语法比较坑,但是你可以在chrome上装一个xpath helper,轻松帮你搞定xpath正则表达式 2、动态内容,比如价格等是不能爬取到的 3、如本代码中,评论爬取部分代码涉及xpath对象的链式调用,可以参考 # -*- coding: utf-8 -*- # import scrapy # 可以用这句代替下面三句,但不推荐
用户1225216
2018/03/05
1.4K0
Scrapy框架的使用之Scrapy入门
接下来介绍一个简单的项目,完成一遍Scrapy抓取流程。通过这个过程,我们可以对Scrapy的基本用法和原理有大体了解。 一、准备工作 本节要完成的任务如下。 创建一个Scrapy项目。 创建一个Spider来抓取站点和处理数据。 通过命令行将抓取的内容导出。 将抓取的内容保存的到MongoDB数据库。 二、准备工作 我们需要安装好Scrapy框架、MongoDB和PyMongo库。 三、创建项目 创建一个Scrapy项目,项目文件可以直接用scrapy命令生成,命令如下所示: scrapy st
崔庆才
2018/06/25
1.4K0
Scrapy框架的使用之Item Pipeline的用法
Item Pipeline是项目管道,本节我们详细了解它的用法。 首先我们看看Item Pipeline在Scrapy中的架构,如下图所示。 图中的最左侧即为Item Pipeline,它的调用发生
崔庆才
2018/06/25
7.3K1
Scrapy框架
简单网页的爬取可以利用re模块,复杂网页的爬取对于内容的提取则会显得十分麻烦。Scrapy框架是python下的一个爬虫框架,因为它足够简单方便受到人们的青睐。
爱编程的小明
2022/09/05
4960
Scrapy框架
Scrapy框架之批量下载360妹纸图
0.导语1.项目初始化2.定义存储结构3.Spider核心代码4.pipeline下载及存储5.json知识
公众号guangcity
2019/09/20
5510
Scrapy框架之批量下载360妹纸图
爬虫框架scrapy
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。 其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
菲宇
2019/06/12
1.8K0
爬虫框架scrapy
Scrapy项目实战:爬取某社区用户详情
get_cookies.py from selenium import webdriver from pymongo import MongoClient from scrapy.crawler import overridden_settings # from segmentfault import settings import time import settings class GetCookies(object): def __init__(self): # 初始化组件
hankleo
2020/09/17
5720
实操 | 从0到1教你用Python来爬取整站天气网
Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。
润森
2019/09/17
7470
实操 | 从0到1教你用Python来爬取整站天气网
17.splash_case06_ScrapySplashTest-master
taobao.py # -*- coding: utf-8 -*- from scrapy import Spider, Request from urllib.parse import quote from scrapysplashtest.items import ProductItem from scrapy_splash import SplashRequest script = """ function main(splash, args) splash.images_enabled = f
hankleo
2020/09/17
3950
Python(十六)
接下来的几篇,我们将介绍一下最流行的爬虫框架 Scrapy。本篇,我们会介绍一下 Scrapy 的基本使用。
1ess
2021/11/01
3260
Python(十六)
【0基础学爬虫】爬虫基础之scrapy的使用
大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为自动化工具 Selenium 的使用。
K哥爬虫
2024/07/01
1680
【0基础学爬虫】爬虫基础之scrapy的使用
《手把手带你学爬虫──初级篇》第6课 强大的爬虫框架Scrapy
Scrapy是一个Python爬虫应用框架,爬取和处理结构性数据非常方便。使用它,只需要定制开发几个模块,就可以轻松实现一个爬虫,让爬取数据信息的工作更加简单高效。
GitOPEN
2019/01/29
1.1K0
《手把手带你学爬虫──初级篇》第6课  强大的爬虫框架Scrapy
相关推荐
Scrapy(4)spider 帮助你寻找最美小姐姐
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验