学习Python的人绝大部分都是在用Python做爬虫,毕竟对于爬虫而言Python是不二选。

但是一般简单的静态页面网站还是很好爬取的,对于很多动态加载的网站就不知道怎么办了,今天小编就给大家介绍两种爬取js加载的动态数据,希望对爬虫方面有所帮助!

今天咱们就以高考查询网站为例!

如何知道这个网站是动态加载的数据?

用浏览器,这里小编建议使用火狐或者谷歌这个想必大家都知道的

打开你网页,右键查看页面源代码,ctrl +F 查询输入293,源代码里面并没有这个值,说明是动态加载数据。

它的网址是: 数字代表的第几页。它一共是165页

所以想要获取全部的url地址就非常简单了

对于动态加载数据,我们常用的两个方法:

使用selenium

分析网页元素,找出该数据的原始网页,提交表单,获取不同的数据,用来达到爬取的目的。

方法一selenium:

为什么要这么写,代码里面表明了注释!

小结:

通过对数据的分析,写出上面的查找方法,即可获取所有数据。

通过这种方法获取数据,简单,也比较直观,缺点是太慢了。

方法二分析网页元素,找出该数据的原始网页,提交表单,获取不同的数据,用来达到爬取的目的。:

既然要分析网页元素,首先我们肯定是要用到了开发者工具,按F12就可以打开浏览器自带的开发者工具。如下图

分析得知类型为json的那一栏即是我们需要的数据

查看消息头里面的请求网站:

https://data-gkcx.eol.cn/soudaxue/queryProvince.html?messtype=jsonp&callback=jQuery183005011523805365803_1512185796058&luqutype3=&province3=&year3=&luqupici3=&page=2&size=10&_=1512185798203

真正的请求网站:

https://data-gkcx.eol.cn/soudaxue/queryProvince.html

参数 :

messtype=jsonp&callback=jQuery183005011523805365803_1512185796058&luqutype3=&province3=&year3=&luqupici3=&page=2&size=10&_=1512185798203

也可以点击右侧的参数栏参看参数

详情代码

方法很简单,主要还是自己动手去实践,实践才能出真知,在岸上学游泳是永远也学不会的。就这么简单的两种方法就可以爬取JS加载的动态数据了,方法都挺简单的,你学会了么?赶紧去试试吧!

python爬取js加载的数据_JS动态加载数据不会爬?老司机教你两个方法爬取想要的数据...相关推荐

  1. java spring包_java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式...

    java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式 发布时间:2018-08-20 12:02, 浏览次数:774 , 标签: java spri ...

  2. ceisum 加载geojson,使用 Cesium 动态加载 GeoJSON 数据

    前言 需求是这样的,我需要在地图中显示 08 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...

  3. android listview动态加载数据,ListView动态加载数据

    当listview需要加载的数据过多时,若一次性载入则速度会相当缓慢,影响用户体验,这时候就需要动态加载数据,即每次载入固定长度的数据,android market的listview就是采用这种方式, ...

  4. php 页面加载图片卡,javascript,图片_js动态加载image导致浏览器很卡,javascript,图片 - phpStudy...

    js动态加载image导致浏览器很卡 function addImage(logo,userid,name,style){ console.log("addImage"); var ...

  5. extjs6.0 动态加载_Extjs入门之动态加载树代码

    Extjs动态加载树的实现代码,需要的朋友可以参考下. Extjs动态加载树,首先在数据库里面设计存放树信息的表 USE [KimiExtjs] GO /****** 对象: Table [dbo]. ...

  6. Html未加载完成时实现动态加载效果

    在html页面未加载完成时会有一段空白,增强用户体验的话,必须在未加载完成时实现动态效果 效果如下: 1.一个普通html页面,内容如下 <html> <head> <s ...

  7. 5 加盐_洗花甲时,别只放盐了!老渔民教您一招,5分钟就搞定,太省事了

    导读:洗花甲时,别只放盐了!老渔民教您一招,5分钟就搞定,太省事了.大家都知道吃花甲前要将花甲中的沙子去除才可以吃,所以很多人都会用食盐浸泡花甲,虽然用食盐可以去除花甲中一部分的沙子,但是用食盐浸泡花 ...

  8. python制作系统程序与html交互_python+html语音人物交互_flask后台与前端(html)交互的两种方法...

    基于python flask框架搭建web flask后台与前端(html)交互的两种方法: 方法1 使用flask-wtf 提供的表单 用常见的登录为例: // An highlighted blo ...

  9. 教你两种方法,轻松锁定数据不被修改

    又到年底了,大家在忙着收集数据的同时还在忙着共享一些数据.那么问题来了,当有些数据我们只想让大家查看而不想让大家修改里面的内容时,我们该如何进行操作来保护表格中的数据不被修改呢? 接下来小编就给大家分 ...

最新文章

  1. LeetCode 121. Best Time to Buy and Sell Stock--Java,Python,C++解法
  2. ExtJs 备忘录(6)—— GirdPanl表格(二) [ 搜索分页 ]
  3. python阻塞和非阻塞_Python基础必备知识:同步异步阻塞非阻塞
  4. 行业谈实践,客户送祝福
  5. 【推荐】 RAC 性能优化全攻略与经典案例剖析
  6. 【leetcode】在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。
  7. 唱响艾泽拉斯_情感篇
  8. Repoptimizer论文理解与代码分析
  9. deepin安装网速监控
  10. matlab图论软件包,MATLAB_bgl_toolbox 图论通用工具箱总汇:GraphTheory for St 247万源代码下载- www.pudn.com...
  11. 2021-CISCN-fianl-ezj4va
  12. 完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集
  13. Python小白逆袭大神-结营心得-alading
  14. 了解设计模式 之 结构模式(四) -- 装饰模式
  15. 更新again:微机原理与汇编语言-练习题
  16. java orm全称_[Java-基础] 什么是ORM
  17. Dubbo-05 20190317
  18. human3.6数据集
  19. 群辉Transmission web界面美化
  20. SharePoint PerformancePoint(BI)开发实例

热门文章

  1. php菲波那切数列,php如何实现菲波那切数列
  2. 大一c语言操作题期末考答案,大一期末考试c语言操作题答案
  3. Python机器学习---2.聚类分析代码部分
  4. 服务器读取excel文件,作为服务器进程读取Excel文件
  5. 计算机专业导论论文2000字,计算机专业导论论文.doc
  6. 该文章为递归寻找目录下目标文件(待完善,但是能用)
  7. 【计算机组成原理】定点数的表示和运算
  8. 任给十进制整数,请从低位到高位……
  9. python stdout stderr 一起输出_python – 使用subprocess.Popen()时,stderr和stdout没有输出
  10. python image convert_从python运行imagemagick convert(控制台应用程序)