Python3 爬虫学习笔记第三章 —— 【Ajax 数据爬取】


文章目录

  • 【3.1】Ajax 简介
  • 【3.2】解析真实地址提取

【3.1】Ajax 简介

Ajax — Asynchronous Javascript And XML(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

【3.2】解析真实地址提取

以豆瓣电影动作片排行榜为例,地址为:https://movie.douban.com/typerank?type_name=%E5%8A%A8%E4%BD%9C&type=5&interval_id=100:90&action= ,首先使用常用方法来爬取电影信息:

import requestsurl = 'https://movie.douban.com/typerank?type_name=%E5%8A%A8%E4%BD%9C&type=5&interval_id=100:90&action='headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"}
response = requests.get(url, headers=headers)print(response.text)

得到的数据里面我们并没有找到电影相关信息:

再次分析页面,发现鼠标下滑的时候,页面不刷新,URL 也不变,但是会加载新数据,那么此处就运用了 Ajax,可以使用抓包工具或者浏览器控制台来捕获 Ajax 接口,获取其真实地址,XHR 是 Ajax 特殊的请求类型,返回的是 json 数据,利用浏览器控制台过滤 XHR,随便点击一条请求,可以看到其 Request URL,也就是真实地址,点击 Preview 就可以看到返回的 json 数据。


同样,我们可以使用 Fiddler 抓包软件抓取 Ajax 接口:

分析其真实地址为:https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=20&limit=20 ,多下滑几次,只有 start 参数发生了改变,观察变化可知:每一次页面将多出20个电影信息,start 为从第几个电影开始,由此就不难进行数据抓取了

代码:

import requestsurl = 'https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&'page = int(input('请输入想要第几页的数据:'))
data = {'start': (page - 1)*20,'limit': '20',
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
}
response = requests.get(url, params=data, headers=headers)
print(response.text)

运行代码即可得到电影排行信息:

Python3 爬虫学习笔记 C03 【Ajax 数据爬取】相关推荐

  1. 【Python3 爬虫学习笔记】用PySpider爬取虎嗅网并进行文章分析

    –转自<1900-高级农民工>http://www.makcyun.top 安装并运行pyspider 安装pyspider pip3 install pyspider 运行pyspide ...

  2. Python3爬虫学习笔记——xpath练习之爬取起点网玄幻小说排行

    这次看完xpath章之后巩固练习 import re import requests from lxml import etree def get_one_page(url):headers = {' ...

  3. Python3 爬虫学习笔记 C09【数据储存系列 — 文件储存】

    Python3 爬虫学习笔记第九章 -- [数据储存系列 - 文件储存] 文章目录 [9.1]TXT 文本存储 [9.1.1]基本示例 [9.1.2]打开方式 [9.2]JSON 文件存储 [9.2. ...

  4. 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...

    本文实例讲述了Python3爬虫学习之MySQL数据库存储爬取的信息.分享给大家供大家参考,具体如下: 数据库存储爬取的信息(MySQL) 爬取到的数据为了更好地进行分析利用,而之前将爬取得数据存放在 ...

  5. 爬虫学习笔记-猫眼电影排行爬取

    爬虫学习笔记-猫眼电影排行爬取 1 分析页面 https://maoyan.com/board/4 点击页码发现页面的URL变成: 初步推断出offset是一个偏移量的参数,当页面为第一页时offse ...

  6. Python3 爬虫学习笔记 C10【数据储存系列 — MySQL】

    Python3 爬虫学习笔记第十章 -- [数据储存系列 - MySQL] 文章目录 [10.1]MySQL 基本操作语句 数据库操作 表操作 表的结构 表的数据 [10.2]Python 连接 My ...

  7. Python3 爬虫学习笔记 C16【数据储存系列 — Redis】

    Python3 爬虫学习笔记第十六章 -- [数据储存系列 - Redis] 文章目录 [16.1]关于 Redis [16.2]使用 Redis [16.3]Key(键)操作 [16.4]Strin ...

  8. Python3 爬虫学习笔记 C11【数据储存系列 — MongoDB】

    Python3 爬虫学习笔记第十一章 -- [数据储存系列 - MongoDB] 文章目录 [11.1]关于 MongoDB [11.2]MongoDB 基本操作语句 [11.3]连接 MongoDB ...

  9. 爬虫学习笔记(用python爬取东方财富网实验)

    参考文章以及视频:(11条消息) 爬虫实战 | 爬取东方财富网股票数据_简说Python的博客-CSDN博客.手把手教你从东方财富网上获取股票数据_哔哩哔哩_bilibili.[Python爬虫案例] ...

最新文章

  1. MyBatis中jdbcType=INTEGER、VARCHAR作用
  2. Android—热修复实践
  3. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
  4. redis的主从数据库复制功能
  5. 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
  6. 【动态规划】简单背包问题II
  7. Nginx系列1之部分模块详解
  8. Android笔记 get方式提交数据到服务器 避免乱码 demo
  9. 刘强东退出武汉京东世纪贸易有限公司经理一职
  10. javascript之正则表达式
  11. java filechooser_Java—FileChooser(示例代码)
  12. flink Table API 与SQL入门实战
  13. 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程(基于spring的方式,使用maven构建)...
  14. day6:vcp考试
  15. win10计算机策略组在哪,win10家庭版的组策略在哪里打开
  16. 松下伺服电机uvw接线图_伺服电机接线图图解
  17. 机器学习领域著名的期刊与会议
  18. 6大智慧电厂关键技术,三维可视化仅是基础
  19. OPENGL回归原点
  20. 图解复盘总结和报告模板实例

热门文章

  1. HDU-4282 A very hard mathematic problem 技巧枚举+二分
  2. 7-4 哈利·波特的考试 (25 分)(C语言实现)
  3. linux 选择文件指定的行数据类型,06练习题
  4. mysql 实时性能_Mysql 实时查看性能
  5. 二. 简单的NSIS安装包
  6. 安装sqlserver2008,重新启动计算机不通过的解决办法
  7. asterisk账号和拨号方案mysql存储(静态)
  8. arm for asterisk1.8
  9. PJSIP UA分析(1)--PJSUA主函数
  10. kafka集群 kubernetes_为什么 Kubernetes 如此受欢迎?