17-分析Ajax请求--爬取易烊千玺微博【以及简单的数据分析】
目的:爬取易烊千玺的微博,包括:点赞数、评论数、转发数、发布时间、微博正文长度、每次的微博id
结果呈现:屏幕显示爬取完成;相应的文件夹的生成
注:此时进行简单的数据分析-------文本长度、点赞数、评论数、转发数的关系---->简单的数据分析
注:易烊千玺这个宝藏男孩!是我的命啊!简直爱到不能自已!!!帅,而且话少!我的菜!!!动不动就上热搜~心水他❤~
注:信息存储在xhr文件中,就是Ajax请求~
易烊千玺微博:https://m.weibo.cn/u/3623353053
#下面为本实例的爬虫代码,若有问题可以给我留言,或者有更好的解决方法也可以私信我~
import os import csv import requests import jsondef get_page(page):base_url='https://m.weibo.cn/api/container/getIndex'params={'type':'uid','value':'3623353053', #主页的id'containerid':'1076033623353053', #107603+主页的id'page':page}headers={'user-agent':'Mozilla/5.0'}try:r=requests.get(base_url,params=params,headers=headers)r.raise_for_status()r.encoding=r.apparent_encodingreturn r.textexcept Exception as e:print(e)def parse_page(page):html=get_page(page)info_data=json.loads(html)info=info_data['data']['cards']for item in info:try:mblog=item['mblog']user_id=mblog['user']['screen_name'] #微博id#text=mblog['text'] #微博id的内容 【太乱了,就不进行正则表达式的提取了】text_len=mblog['textLength'] #文本长度attitudes_count=mblog['attitudes_count'] #点赞数comments_count=mblog['comments_count'] #评论数reposts_count=mblog['reposts_count'] #转发数created_at=mblog['created_at'] #发布时间#bmiddle_pic=mblog['bmiddle_pic'] #图片,并不是所有微博都有的result=[user_id,text_len,attitudes_count,comments_count,reposts_count,created_at]save_to_csv(result)except:continueprint('{}---第{}页---?'.format(user_id,page))def save_to_csv(res):file='YYQX.csv'with open(file,'a+',encoding='utf-8',newline="")as csv_file:csv_write=csv.writer(csv_file)if os.path.getsize(file)==0:csv_write.writerow(['用户id','文本长度','点赞数','评论数','转发数','发布时间'])csv_write.writerow(res)csv_file.close()if __name__ == '__main__':for page in range(1,51): #爬取前50页parse_page(page)
(1)屏幕显示:
(2)文件夹显示:
爬取成功!
简单的数据分析
下面进行简单的数据分析,通过绘图,看下:文本长度、点赞数、评论数、转发数的关系
- 需要对其进行归一化,不然的话,数据之间相差太大,不具备可比性!
- 选取前100条微博进行比较,不然的话,数据都堆在一起,看不清规律!
代码如下:
import pandas as pd import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties #中文字符的解决 font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) #读入数据 data=pd.read_csv('E:\YYQX.csv') text_len=data['文本长度'] attitudes_count=data['点赞数'] comments_count=data['评论数'] reposts_count=data['转发数']#数据处理:选取前100;归一化 text_len=text_len[:100] text_len=text_len/max(text_len) #文本长度 【红色】 attitudes_count=attitudes_count[:100] attitudes_count=attitudes_count/max(attitudes_count) #点赞数【蓝色】 comments_count=comments_count[:100] comments_count=comments_count/max(comments_count) #评论数 【绿色】 reposts_count=reposts_count[:100] reposts_count=reposts_count/max(reposts_count) #转发数 【紫色】text_len.plot(label='文本长度',style="--",color='r') attitudes_count.plot(label='点赞数',style='--',color='b') comments_count.plot(label='评论数',style='--',color='g') reposts_count.plot(label='转发数',style='--',color='y') plt.title(u'易烊千玺微博分析', fontproperties=font) #题目自行修改 plt.legend(prop=font) plt.show()
图片如下:
分析这些发现:文本长度和点赞数、评论数、评论数没有关系!但是点赞数和转发数正相关!
注:这是简单的数据分析,时候做使用sklearn库进行一些机器学习的分析!
注:易烊千玺,我真的很喜欢他!首先:长得好看!其次:舞跳得好!最重要的是:性格啊!!!!冷都男!!!!--->附上一张黑历史!【我觉得很可爱~(@^_^@)~】
今日爬虫&简单的数据分析完成!
今日鸡汤:勇敢地去选择你想要过的生活,并坚持下去,这就是一种很棒的人生,致自己!
加油ヾ(◍°∇°◍)ノ゙
转载于:https://my.oschina.net/pansy0425/blog/3000356
17-分析Ajax请求--爬取易烊千玺微博【以及简单的数据分析】相关推荐
- 5-随机抓取易烊千玺置顶100万+转发微博的转发数据,并分析真假粉丝比例
说明: 项目主要随机抓取易烊千玺100万+转发的微博置顶的100万条转发数据,并利用数据可视化的方式分析易烊千玺真假粉丝比例. 分为:爬虫+数据分析 一.爬虫[爬取易烊千玺100万条的转发数据] #爬 ...
- python爬虫---实现项目(二) 分析Ajax请求抓取数据
这次我们来继续深入爬虫数据,有些网页通过请求的html代码不能直接拿到数据,我们所需的数据是通过ajax渲染到页面上去的,这次我们来看看如何分析ajax 我们这次所使用的网络库还是上一节的Reques ...
- Python模拟Ajax请求爬取微博
一 分析请求 1 Chrome浏览器打开开发工具,然后访问https://m.weibo.cn/u/2830678474 2 一直滑动页面以加载新的微博内容.可以看到,会不断有Ajax请求发出. 3 ...
- python学习(26)分析ajax请求抓取今日头条cosplay小姐姐图片
分析ajax请求格式,模拟发送http请求,从而获取网页代码,进而分析取出需要的数据和图片.这里分析ajax请求,获取cosplay美女图片. 登陆今日头条,点击搜索,输入cosplay 下面查看浏览 ...
- 爬虫实战:要不是热爱学习,谁会爬小姐姐。分析Ajax来爬取今日头条街拍美图(python)
有些网页我们请求的html代码并没有我们在浏览器里看到的内容. 因为有些信息是通过Ajax加载并通过JavaScript渲染生成的. 一.目标站点分析 头条街拍 查看的Ajax请求 选择network ...
- python爬虫今日头条_python爬虫—分析Ajax请求对json文件爬取今日头条街拍美图
python爬虫-分析Ajax请求对json文件爬取今日头条街拍美图 前言 本次抓取目标是今日头条的街拍美图,爬取完成之后,将每组图片下载到本地并保存到不同文件夹下.下面通过抓取今日头条街拍美图讲解一 ...
- 用python画易烊千玺_竟然如此简单!输入明星名字就可以直接爬取高清图片
听说你在自己喜欢的明星壁纸?比如李易峰,王一博,易烊千玺.王源.王俊凯,李现等.今天教你批量下载这些明星高清壁纸(文末有福利) 最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择.废话 ...
- Python爬虫实战02:分析Ajax请求并抓取今日头条街拍
1 目标网站分析 首先我们打开今日头条网站,搜索 街拍,点击图集,这里每就是我们要爬取的目录,我们称为索引页.1 点开一个标题,进去,称为详情页.2这里面的图是我们所要爬取的.比如这里可以点击图片,共 ...
- 爬虫:Ajax数据爬取
目录 1.什么是Ajax 1.1 实例的引入 1.2 基本原理 2.Ajax分析方法 1.查看请求 2.过滤请求 3.Ajax结果提取 1.分析请求 2.分析响应 3.例子 我们在用 requests ...
最新文章
- nn.embding()使用注意点
- 阿里高级算法专家公开10大思考
- 后台开发人员面试内容——Redis非关系数据库(三)
- 微信开发 根据openid 获取用户基本信息
- c语言编程算法精选,c语言经典程序算法【DOC精选】.doc
- 服务器压力测试_性能测试相关的面试题
- 了解:shell脚本+脚本优化+脚本注入+正则表达式
- 使用Shell工具连接虚拟机
- 海康威视二次开发 python_海康威视面试python后端题
- 火星坐标系转北京54坐标方法
- 【P44】DC-DC隔离模块,解决蓝牙共地干扰问题
- unity2019安装完后打不开直接闪退_VS2017 VS2019 无法进入安装界面闪退问题(windows7SP1)...
- 搞语音的有关音频的基础知识
- 公司企业邮箱怎么注册申请,教你选择适合的企业邮箱
- HttpClient4.4.1模拟登录知乎
- 弘辽科技:淘宝店铺出现异常,卖家该如何应对?要注意些什么?
- CAMP模型——估计资本成本的模型
- (十)搭建springboot商城--商品热销排行
- []==''返回?为什么?运算符==进行了什么操作?
- 轻信别人可以“包装”,规避限购政策购房,会有那些后果?
热门文章
- Unity【Multiplayer 多人在线】- Socket 通用客户端网络模块(一)、Connect 连接服务端
- 2018 Benelux Algorithm Programming Contest (BAPC 18) J-Janitor Troubles(计算几何公式)
- Git 安装并初始化 + 官网下载速度太慢的问题
- easy-socket
- sdp ddp内存怎么分_【数据分享】暂别跑分, 用游戏对比CPU性能
- SQL Server 2019 的下载安装及后续与Java的连接
- ELECTRONICON E62.C58-102E40电容
- 我这里有语法糖噢。叔叔,我们不约
- 快递拒收件怎么批量查往回返的物流信息
- Python初学者常遇到的问题