目的:爬取易烊千玺的微博,包括:点赞数、评论数、转发数、发布时间、微博正文长度、每次的微博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请求--爬取易烊千玺微博【以及简单的数据分析】相关推荐

  1. 5-随机抓取易烊千玺置顶100万+转发微博的转发数据,并分析真假粉丝比例

    说明: 项目主要随机抓取易烊千玺100万+转发的微博置顶的100万条转发数据,并利用数据可视化的方式分析易烊千玺真假粉丝比例. 分为:爬虫+数据分析 一.爬虫[爬取易烊千玺100万条的转发数据] #爬 ...

  2. python爬虫---实现项目(二) 分析Ajax请求抓取数据

    这次我们来继续深入爬虫数据,有些网页通过请求的html代码不能直接拿到数据,我们所需的数据是通过ajax渲染到页面上去的,这次我们来看看如何分析ajax 我们这次所使用的网络库还是上一节的Reques ...

  3. Python模拟Ajax请求爬取微博

    一 分析请求 1 Chrome浏览器打开开发工具,然后访问https://m.weibo.cn/u/2830678474 2 一直滑动页面以加载新的微博内容.可以看到,会不断有Ajax请求发出. 3  ...

  4. python学习(26)分析ajax请求抓取今日头条cosplay小姐姐图片

    分析ajax请求格式,模拟发送http请求,从而获取网页代码,进而分析取出需要的数据和图片.这里分析ajax请求,获取cosplay美女图片. 登陆今日头条,点击搜索,输入cosplay 下面查看浏览 ...

  5. 爬虫实战:要不是热爱学习,谁会爬小姐姐。分析Ajax来爬取今日头条街拍美图(python)

    有些网页我们请求的html代码并没有我们在浏览器里看到的内容. 因为有些信息是通过Ajax加载并通过JavaScript渲染生成的. 一.目标站点分析 头条街拍 查看的Ajax请求 选择network ...

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

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

  7. 用python画易烊千玺_竟然如此简单!输入明星名字就可以直接爬取高清图片

    听说你在自己喜欢的明星壁纸?比如李易峰,王一博,易烊千玺.王源.王俊凯,李现等.今天教你批量下载这些明星高清壁纸(文末有福利) 最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择.废话 ...

  8. Python爬虫实战02:分析Ajax请求并抓取今日头条街拍

    1 目标网站分析 首先我们打开今日头条网站,搜索 街拍,点击图集,这里每就是我们要爬取的目录,我们称为索引页.1 点开一个标题,进去,称为详情页.2这里面的图是我们所要爬取的.比如这里可以点击图片,共 ...

  9. 爬虫:Ajax数据爬取

    目录 1.什么是Ajax 1.1 实例的引入 1.2 基本原理 2.Ajax分析方法 1.查看请求 2.过滤请求 3.Ajax结果提取 1.分析请求 2.分析响应 3.例子 我们在用 requests ...

最新文章

  1. nn.embding()使用注意点
  2. 阿里高级算法专家公开10大思考
  3. 后台开发人员面试内容——Redis非关系数据库(三)
  4. 微信开发 根据openid 获取用户基本信息
  5. c语言编程算法精选,c语言经典程序算法【DOC精选】.doc
  6. 服务器压力测试_性能测试相关的面试题
  7. 了解:shell脚本+脚本优化+脚本注入+正则表达式
  8. 使用Shell工具连接虚拟机
  9. 海康威视二次开发 python_海康威视面试python后端题
  10. 火星坐标系转北京54坐标方法
  11. 【P44】DC-DC隔离模块,解决蓝牙共地干扰问题
  12. unity2019安装完后打不开直接闪退_VS2017 VS2019 无法进入安装界面闪退问题(windows7SP1)...
  13. 搞语音的有关音频的基础知识
  14. 公司企业邮箱怎么注册申请,教你选择适合的企业邮箱
  15. HttpClient4.4.1模拟登录知乎
  16. 弘辽科技:淘宝店铺出现异常,卖家该如何应对?要注意些什么?
  17. CAMP模型——估计资本成本的模型
  18. (十)搭建springboot商城--商品热销排行
  19. []==''返回?为什么?运算符==进行了什么操作?
  20. 轻信别人可以“包装”,规避限购政策购房,会有那些后果?

热门文章

  1. Unity【Multiplayer 多人在线】- Socket 通用客户端网络模块(一)、Connect 连接服务端
  2. 2018 Benelux Algorithm Programming Contest (BAPC 18) J-Janitor Troubles(计算几何公式)
  3. Git 安装并初始化 + 官网下载速度太慢的问题
  4. easy-socket
  5. sdp ddp内存怎么分_【数据分享】暂别跑分, 用游戏对比CPU性能
  6. SQL Server 2019 的下载安装及后续与Java的连接
  7. ELECTRONICON E62.C58-102E40电容
  8. 我这里有语法糖噢。叔叔,我们不约
  9. 快递拒收件怎么批量查往回返的物流信息
  10. Python初学者常遇到的问题