热门专题|网站地图|移动官网|微信编辑器
您的当前位置:网站首页 > 大数据 > 大数据应用 > 正文

Python抓取花椒网人气主播全教程(附:代码)

来源:网络整理 编辑:蚂蚁站长 时间:2017-02-07 00:39:28 阅读:

Python抓取花椒网人气主播全教程(附:代码)

文 | octans

本文将介绍我最近在学习Python过程中写的一个爬虫程序,将力争做到不需要有任何Python基础的程序员都能读懂。读者也可以先跳到文章末尾看最终收集的数据效果和完整代码。

1. 确立目标需求

本次练习Python爬虫的目标需求为以下两点:

1) 收集huajiao.com上的人气主播信息:每位主播的关注数,粉丝数,赞数,经验值等数据

2) 收集每位人气主播的直播历史数据,包括每次直播的开播时间,观看人数,赞数等数据

2. 确立逻辑步骤

首先通过浏览器查看www.huajiao.com网站上的各个页面,分析它的网站结构。得到如下信息:

1) 每一个导航项列出的都是直播列表,而非主播的个人主页列表

以“热门推荐”为例,如下图,每个直播页面的url格式为http://www.huajiao.com/l/liveId, 这里的liveId唯一标识一个直播,比如http://www.huajiao.com/l/52860333

Python抓取花椒网人气主播全教程(附:代码)

2) 在直播页上有主播的用户ID和昵称等信息

通过点击用户昵称可以进入主播的个人主页

Python抓取花椒网人气主播全教程(附:代码)

3) 在主播个人主页上有更加完整的个人信息

更加完整的个人信息包括关注数,粉丝数,赞数,经验值等数据;也有主播的直播历史数据,如下图,每个主播个人主页的url格式为http://www.huajiao.com/user/userId, 这里的userId唯一标识一个主播用户,比如http://www.huajiao.com/user/50647288

Python抓取花椒网人气主播全教程(附:代码)

4) 程序逻辑

通过以上的分析,爬虫可以从直播列表页入手,获取到所有的直播url中的直播id,即上文提到的liveId;

拿到直播id后就可以进入直播页获取用户id,即前面提到的userId,

有了userId后就可以进入主播个人主页,在个人主页上有主播完整的个人信息和直播历史信息。

具体步骤如下:

a):抓取直播列表页的html, 我选取的是”热门推荐”页面http://www.huajiao.com/category/1000

b):从获取到的“热门推荐”页面的html中过滤出所有的直播地址,http://www.huajiao.com/l/liveId

c):通过直播id抓取直播页面的html, 并过滤出主播的userId

d):通过userId抓取主播的个人主页,过滤出关注数,粉丝数,赞数,经验值;过滤出直播历史数据。

e):将用户数据和直播历史数据写入mysql保存

以上是根据观察网站页面,直观上得出的一个爬虫逻辑,但实际在开发过程中,还要考虑更多,比如:

a)爬虫要定时执行,对于已经采集到的数据,采取何种更新策略

b)直播历史数据需要请求相应的ajax接口,对收到的数据进行json解码分析

c)主播昵称包含emoji表情,如果数据库使用常用的编码”utf8″则会写入报错

d)过滤直播地址来获取直播id时,需要使用到正则匹配,我使用的是Python库”re”

e)分析html,我使用的是”BeautifulSoup”

f)读写mysql,我使用的是”pymysql”

如上逻辑步骤分析清楚后,就是编码了,利用Python来实现以上的逻辑步骤。

3. Python编码

1) 数据表设计

Python抓取花椒网人气主播全教程(附:代码)

图文精选:

更多>>

产品运营

说说SEO站群的那些事:seo站群排名如何做

站群,一个在SEO界躲在灰暗角落的词。提到站群,很多时候会想到链轮。在那时,操作链轮,很多人都……

热门文章
更多>>

用户体验

一场活动结束后,如何防止新用户大量流

在谈“如何防止活动用户大量流失”这个话题之前,我必须先把一场活动的前前后后说清楚。……

热门文章
更多>>

网站分析

网站用户忠诚度和用户价值分析

“以用户为中心”的理论要求网站不断优化改善用户的体验,进而提升用户的满意度,当用户的预期不……

热门文章
更多>>

APP运营

做好APP产品运营应该做的三件事?

作为移动端APP产品运营最重要的运营手段,消息推送(push)被越来越多的APP厂商所重视,在信息泛滥的移……

热门文章
更多>>

用户运营

「落地页」是如何帮助用户运营实现用户

用户获取的成本越来越高,用户获取越来越困难,不妨使用落地页,轻松实现用户增长。……

热门文章
更多>>

内容运营

热门文章

Copyright©2012-2017小蚂蚁信息网版权所有 站长QQ:1614558876 粤ICP备14061018号-1


郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们QQ1614558876删除已转载的信息。

Top