米筐社区全方位数据解读
社区链接:https://www.ricequant.com/community/topic/3969/?utm_source=CSDN
近期我们的米筐首席临时工做了一件非常好玩的事情,通过自己编写爬虫爬取了Ricequant线上社区的数据并进行了一系列的分析,大家也可以通过本篇文章初步了解python爬虫的原理哦。
原文
最近看完了《利用 Python 进行数据分析》,苦于屠龙大技无处施展,于是瞄上了米筐社区:开放的社区数据,都好好地摆在那。从数据的爬取储存、清洗整理,到分析汇总、可视化,最终写成本文,整整搭上了三天时间(别问我为啥效率这么低,后面会讲道)。
爬取储存
作为一个爬虫弱渣,还好米筐社区没有反爬机制(但容我吐槽一句,社区网页源码可真不是那么容易能理得清的),靠着 requests 和 bs4 的文档,跌跌撞撞地爬取了所有数据,包括所有主题帖的标题、地址、发帖时间、再次编辑时间、跟帖量、浏览量、点赞量、是否带有回测分享、是否带有研究分享,以及分享的克隆次数。
先说一说思路。首先进入社区主页,一共 170+ 页的所有信息都在网页源码里。用 requests 请求后再用 bs4 解析(必要的时候可以暴力一点,自己目测解析),基本就能拿到大部分数据了。而发帖时间和再次编辑时间,需要进入每一个主题帖,再在其中找到所需要的数据。
r = requests.get(url + str(num))
# 解析soup = BeautifulSoup(r.text,
'html.parser')
body = soup.body
# 帖子、浏览、赞,每 3 个一组human_readable_number = body.find_all(
'span', attrs={
'class':
'human-rea