Python初学者之网络爬虫今日头条
- 资料大王PDF
-
0 次阅读
-
0 次下载
-
2024-10-13 22:48:44
微信
赏
支付宝
文档简介:
声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商
业用途。
本文将介绍我最近在学习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
2) 在直播页上有主播的用户ID和昵称等信息
3) 在主播个人主页上有更加完整的个人信息
更加完整的个人信息包括关注数,粉丝数,赞数,经验值等数据;也有
主播的直播历史数据,如下图,每个主播个人主页的url格式为
http://www.huajiao.com/user/userId, 这里的userId唯一标识一个主播用
户,比如http://www.huajiao.com/user/50647288
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......
评论
发表评论