任务描述

对于给定的Ins账户列表,需要爬下所有posts,对于每条post要有

  • 时间
  • 配文
  • 配图
  • 点赞数
  • 评论数

如果是小视频,需要有

  • 视频
  • 观看数

Ins网站结构分析

Ins的post数据在json文件里存储,一个json文件存储12条post信息,并会给出查询下一组post的cursor。

由于使用了hash加密,所以典型的查询链接如下:

‘https://www.instagram.com/graphql/query/?query_hash=a5164aed103f24b03e7b7747a2d94e3c&variables=%7B%22id%22%3A%22{user_id}%22%2C%22first%22%3A12%2C%22after%22%3A%22{cursor}%22%7D’

也就是说对于每一组post,需要知道两个参数:user_id和cursor。将这两个参数填入url中并requests就能得到想要的json文件。事实上填入参数后的url直接在浏览器中打开也能得到对应的json:

显然,以上的查询链接中的user_id和end_cursor都是从上一页中继承的。可是对于每个账户的第一页,显然没有办法继承。因此第一页要单独爬,好在每个账户第一页的url都是固定的:

https://www.instagram.com/{account}/

从第一页中分析得到user_id和第二页的cursor即可。

数据存储和可视化策略

为了提高存储效率,用两层数据格式存储。外层是一个列表,内存是一个词典。词典中按照需要爬取的变量设置不同的属性,每爬取一个新的post更新一次词典。得到的结果如下:

[{'img_url': 'https://scontent-frt3-1.cdninstagram.com/vp/2de4fe0ca443d27ead0601306a4d2d9f/5E65FD4A/t51.2885-15/e35/73497417_178613769947279_3483644294279361168_n.jpg?_nc_ht=scontent-frt3-1.cdninstagram.com&_nc_cat=1', 'comment_count': 9042, 'like_count': 565657, 'text': 'Meet today’s #WeeklyFluff, Albert (@pompous.albert), a Selkirk Rex cat who might look faux... but is keeping it real. 												

Instgram爬虫及其断点续传_一个AJAX异步加载爬虫相关推荐

  1. 淘宝购物车页面 智能搜索框Ajax异步加载数据

    如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...

  2. java jsp 页面下拉框 ajax异步加载数库数据

    全面详细的新手下拉框数据显示.web项目中难免用到下拉框异步加载数据的情况.这里分享一个.使用的是jquery的ajax异步加载后台数据.后台使用java语言. 1,先看效果,下拉框如下: 2.获取值 ...

  3. 彭于晏百度图片Ajax异步加载爬取

    Ajax 异步加载 网页爬取 分析网页 在Networka条目里找xhr Ajax 加载 import requests from urllib.parse import urlencode impo ...

  4. ajax post提交数据_详解Ajax异步加载

    前言: 作为资深球迷,提起Ajax,第一反应想到的是阿贾克斯,那个曾培养出伊布,范德法特,苏亚雷斯,亨特拉尔等一众球星的荷甲著名球队. 很显然,我们今天说的Ajax,跟足球没有任何关系,我们说的是这个 ...

  5. 爬虫案例:ajax异步加载,爬取豆瓣电影排行榜

    from urllib.request import Request,urlopen from fake_useragent import UserAgent #导入相应的库 base_url ='h ...

  6. python提取ajax异步加载数据_python爬取豆瓣电影分类排行榜引出的异步加载(AJAX)问题...

    1.背景 之前的文章中已经介绍过猫眼TOP100的电影信息爬取案例,网页每页有10条电影信息,通过翻页发现URL变化规律构造循环爬取10页100条全部电影信息.但是豆瓣电影分类排行榜的网页情况就所不同 ...

  7. 用scrapy爬取菜谱网站的食谱与ajax异步加载标签的获取

    由于最近想做一个和菜谱应用,所以需要爬虫爬到大量的食谱数据,学习了一系列爬虫相关的知识,和大家分享一下 首先我们要爬取的网站的域名为"home.meishichina.com" 在 ...

  8. SharePoint 实现ajax异步加载数据的几种方式

    初到公司,由原想的asp.net开发转向了SharePoint(简称SP)开发,个人感觉与之前差别不大,今天用sp实现异步加载数据的时候遇到点问题,之前在asp.net下一步都是用 jquery.aj ...

  9. ztree java 异步_使用 zTree 异步加载

    使用 zTree 异步加载 使用场景 可能需要展示类别很多,如果采用直接加载的方式,需要展示的数据量过大,交互十分不友好.所以采用 zTree 异步加载数据. demo 环境 SpringBoot 1 ...

  10. Ajax异步加载的知识点

    1.如果是页面的一块刷新那么用jQuery的 load  加上时间搓 是为了防止相同. $("#mainRigth").load("/IHealth/" + l ...

最新文章

  1. 教务处管理系统c语言编程,基于C语言的教务管理系统的设计
  2. html添加背景音乐记事本,肿么在用记事本写的html网页中添加视频
  3. android aar保存图片文件异常_我去!合并AAR时踩坑了!
  4. mysql 重启_mysql重启的问题
  5. 卸载/删除Homebrew包,包括其所有依赖项
  6. 隐藏网络计算机,如何在网络中隐藏自己的计算机名称
  7. ExactScan pro for mac(扫描仪整合工具)
  8. 我们团队一位Android开发者的故事
  9. 谷歌浏览器的一个新特点—关于获取iframe的parent对象
  10. gitlab提交代码
  11. JZOJ5946. 【NOIP2018模拟11.02】时空幻境(braid)
  12. springcloud阿里巴巴五大组件_阿里巴巴内部独家微服务全解手册已“重现江湖”大厂核心技术,你确定不了解一下?...
  13. 周杰伦的歌里都有些啥?
  14. uis向3d投影全息界面的连续演化。
  15. HE4484E原厂升压8.4v锂电池充电芯片
  16. Dubbo 支持哪些通信协议?
  17. 初识 Vertica ,看完白皮书,我都发现了啥【文末赠书】
  18. 刷微博粉丝工具发布及原理解说
  19. INA219与INA216测试总结
  20. 构建信用风险综合评价体系——基于主成分与因子分析

热门文章

  1. Python实战 | 抖音超火的九宫格视频是如何生成的
  2. 基于SpringBoot+小程序的校园闲置物品交易平台
  3. 【蓝桥杯】【等额本金】
  4. 【寒武纪】视觉算法MLU220硬件适配
  5. WiFi基本概念(五)(符号 - Symbol)
  6. 贵州计划2019年减少农村贫困人口110万人
  7. Matlab R2018b使用搜狗输入法卡顿问题及其解决方法
  8. 头歌实践教学平台数据库原理与应用实训答案
  9. IT行业究竟有多吃香?
  10. SpringBoot狂神员工管理系统