又快到了写论文的时间了,相信同学对获取数据都十分的头大,而要想能学会使用python或者第三方现成的采集器软件来采集想要的数据,这个学习成本也是不低,那么,拿来主义就是摆在很多同学面前最理想的追求了。

今天,小编就给大家带来一个Python通过移动端接口爬取的案例,同时用pyinstaller打包成exe,可以帮助大家用最简单的方式下载到微博的数据,大家如果有需要的可以免费下载使用。

下面我们来看看这个小工具如何使用?

gif动图 - 富泰科

这是博主:Vsinger_洛天依 的微博:

;

下图就是采集到的内容,导出到表格当中

我们可以看到数据字段非常的丰富,无论我们想要进行对这些数据进行什么维度的分析,都可以利用到。那么,这个小工具是如何使用呢?

下面我们看一下这个小工具如何下载:

我们可以看到数据就采集出来了,而且会同步下载到本地的表格当中。

是不是非常傻瓜,那么我们的同学们如果选题要用到微博的数据,有了这款小工具就可以节省很多采集数据的时间了。是不是非常nice?

我们下面详情说一下具体的思路:

首先我们知道:微博有很多不同的终端:如:www.weibo.com/www.weibo.cn/m.weibo.cn,分别对应不同的硬件终端,而我们爬取数据的都知道,获取数据最快的方式是通过网站的接口。这样不用浏览器的加载,那我们就按这个思路来找一下,是否有相应的接口:

我们打开weibo(我们通过https://m.weibo.cn/这个移动端访问),登录后,打开一个大v的首页 - 下拉 - 打开全部微博。按f12打开开发者工具。

;

然后我们通过网络调试,就可以看到相应的数据接口了。

;

然后我们看到,所有的数据都在这个mblog下,下面我们就可以写代码来获取了。

1、先获取用户的基本信息:

'''用户信息'''
user_name = card['mblog']['user']['screen_name']
profile_url = card['mblog']['user']['profile_url']
post_count = card['mblog']['user']['statuses_count']
desc = card['mblog']['user']['description']
fans = card['mblog']['user']['followers_count']
follow = card['mblog']['user']['follow_count']
gender = card['mblog']['user']['gender']
urank = card['mblog']['user']['urank']
mbrank = card['mblog']['user']['mbrank']
verified = card['mblog']['user']['verified']
if verified:verified = '认证会员'
else:verified = '非认证会员'

复制

这个container_id 就是用户的ID,相应的字段都是json格式,我们解析一下就可以。

2、再获取每一条微博:

for card in data['cards']:if card['card_type'] == 9:mid = card['mblog']['id']uid = card['mblog']['user']['id']bid = card['mblog']['bid']content = card['mblog']['text']content = re.sub(r'<.*?>', '', content)     # 通过正则过滤博文当中的html标签imageUrl = ''video_url = '-'try:for pic in card['mblog']['pics']:imageUrl += pic['url'] + ','imageUrl = imageUrl[:len(imageUrl) - 1]except KeyError as e:imageUrl = ''try:if card['mblog']['page_info']['type'] == 'video':video_url = card['mblog']['page_info']['media_info']['stream_url']except KeyError as e:video_url = '-'source = card['mblog']['source']scheme = 'https://weibo.com/{}/{}?filter=hot&root_comment_id=0&type=comment'.format(card['mblog']['user']['id'], card['mblog']['bid'])created_time = card['mblog']['created_at']

复制

3、然后我们再加一下翻页:

while True:url = f'https://m.weibo.cn/api/container/getIndex?containerid={container_id}&page={page_num}'page_num += 1

复制

update:微博好像更新了翻页的方式,新的翻页为一个动态参数,我们如下写一下就好了。

since_id = ''  # 翻页参数
while True:url = f'https://m.weibo.cn/api/container/getIndex?type=uid&value={profile_id}' \f'&containerid=107603{profile_id}&since_id={since_id}'

复制

然后设置一下结束翻页:

total_num = data['cardlistInfo']['total']
if page_num > int(total_num / 10):print('没有更多页了')break

复制

4、将获取的内容保存:

'''数据导出到表格当中'''
self.excel_save(file_name + '_微博博文.xlsx', items, self.head)

复制

5、当然,我们还需要对self.headers设置一下,这里的cookie需要将登录后的值复制过来。

self.headers = {'cookie': cookie,'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Mobile Safari/537.36 Edg/93.0.961.47'}

复制

6、然后,就可以运行一下代码了。

导出的数据表格:

调试好了,我们如果说想方便使用,可以使用pyinstaller打包一下。打包成exe,可以方便发送和携带。下载点这里

当然,这里有义务告知:以上工具下载的数据仅限于用于学习与研究使用,如有需要用于商业用途请取得相应权利人授权。请大家下载时视为同意这个要求,否则请勿下载。如果有超出以上规范或者将获取的数据应用于超过上述范围的,因此产生的后果由下载者负责,造成的可能的纠纷或法律后果与本号无关。

微博爬虫思路:Python通过移动端接口爬取,简单易操作相关推荐

  1. python爬取微博热搜显示到折线图_微博热搜榜前20信息数据爬取进行数据分析与可视化...

    一.设计方案 1.主题式网络爬虫名称:微博热搜榜前20信息数据爬取进行数据分析与可视化 2.爬取内容与数据特征分析:爬取微博热搜榜前20热搜事件.排名与热度,数据呈一定规律排序. 3.设计方案概述:思 ...

  2. python爬虫网络数据包_Python爬虫之多线程图虫网数据爬取(十六)

    Python爬虫之多线程图虫网数据爬取(十六) 发布时间:2019-05-14 10:11, 浏览次数:289 , 标签: Python 原创不易,转载前请注明博主的链接地址:Blessy_Zhu h ...

  3. Python爬虫实战使用scrapy与selenium来爬取数据

    系列文章目录 实战使用scrapy与selenium来爬取数据 文章目录 系列文章目录 前言 一.前期准备 二.思路与运行程序 1.思路 2.运行程序 三.代码 1.代码下载 2.部分代码 总结 前言 ...

  4. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取

    python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...

  5. python爬取微博用户正文_基于Python的新浪微博用户信息爬取与分析

    基于 Python 的新浪微博用户信息爬取与分析 邓文萍 [摘 要] 摘要:本文设计并实现了一个微博用户信息爬取与分析系统 , 利用 Cookie 实现了用户的模拟登录 , 使用 Python 语言的 ...

  6. 教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!

    教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!! 代码展示: 开发环境: windows10 python3.6 开发工具: pycharm weddriver 库: sel ...

  7. python网页爬虫漫画案例_Python爬虫-用Scrapy框架实现漫画的爬取

    14.jpg 在之前一篇抓取漫画图片的文章里,通过实现一个简单的Python程序,遍历所有漫画的url,对请求所返回的html源码进行正则表达式分析,来提取到需要的数据. 本篇文章,通过 scrapy ...

  8. Python网络爬虫数据采集实战:同花顺动态网页爬取

    前文的爬虫都建立在静态网页基础之上,首先通过请求网站url获取到网页源代码.之后对源代码进行信息提取进而存储即可,本文则针对动态网页进行数据采集,首先介绍Ajax相关理论,之后实战爬取同花顺动态网页, ...

  9. python爬虫今日头条_python爬虫—分析Ajax请求对json文件爬取今日头条街拍美图

    python爬虫-分析Ajax请求对json文件爬取今日头条街拍美图 前言 本次抓取目标是今日头条的街拍美图,爬取完成之后,将每组图片下载到本地并保存到不同文件夹下.下面通过抓取今日头条街拍美图讲解一 ...

  10. Python爬虫:最牛逼的 selenium爬取方式!

    Python爬虫:最牛逼的 selenium爬取方式! 作为一个男人 在最高光的时刻 这是小编准备的python爬虫学习资料,加群:700341555即可免费获取! Python爬虫:最牛逼的 sel ...

最新文章

  1. django makemigrtions时出现no changes detected 解决方式
  2. 聊聊flink的Async I/O
  3. 解读大型网站系统架构的演化
  4. Dubbo-Zookeeper安装
  5. 语音识别技术准确率早已超过人类平均水平
  6. NSURLSession访问HTTPS网站
  7. php是什么电器元件,第三代计算机采用的主要电子元器件是什么
  8. 【总结】动态规划 or 组合数学解决棋盘(迷宫)路径问题(持续更新中)
  9. 五笔字根表识别码图_怎么学五笔 五笔字根表键盘图 【详细介绍】
  10. [经验教程]谷歌浏览器google chrome网站不安全与网站的连接不安全怎么办?
  11. 渗透测试之信息收集(下篇)
  12. 电动执行器平时应该怎么去维护和保养?
  13. nmds与mds的区别_聚类分析和NMDS分析的基本步骤.doc
  14. 科技论文计算机排版格式,科技论文排版参考格式
  15. 苹果Mac电脑怎么能彻底的卸载软件?
  16. 《C语言程序设计》江宝钏主编-习题5-4-素数表!!!!!
  17. KDEUnivariate.fit 参数详解
  18. WinForm dataGridView连接Access数据库
  19. web程序_通过学号查询学生信息_笔记
  20. 基于java汉服文化平台网站(java毕业设计)

热门文章

  1. 用MATLAB 读写各种文件 ∈ Matlab 使用笔记
  2. DCMTK的Worklist初探
  3. IXM317CQC回收IMX377CQT回收IMX307LQR-CIMX185LQJ-C回收IMX283CQT
  4. 在线网上书店管理系统
  5. 基于分数阶傅里叶变换的chirp信号检测与参数估计(原理附代码)
  6. 【预测模型-ELAMN预测】基于哈里斯鹰算法优化ELMAN神经网络实现数据回归预测matlab代码
  7. Fontmin字体生成,网站开发字体生成,@font-face字体格式生成,html网站字体引入,html网站字体格式转换器
  8. 计算机丢失vcomp110.dll,msvcp110.dll丢失一键修复工具
  9. c语言头文件和函数库,C语言的头文件和库文件(函数库)
  10. hbuildx打包成apk_基于HBuilder将H5站点打包成app