大家好,我是大志
这次介绍一个爬取动态网页的超简单的一个小demo

说到动态网页,你对它了解多少呢?

简单来说,要获取静态网页的网页数据只需要给服务器发送该网页url地址就行,而动态网页的数据因为是存储在后端的数据库里。所以要获取动态网页的网页数据,我们需要向服务器发送请求文件的url地址,而不是该网页的url地址。

ok,下面开始进入正题。

一、 分析网页结构

本篇博文就以高德地图展开:https://www.amap.com/

在打开后,我们发现有一堆div标签,但是并没有我们需要的数据,这个时候就可以判定其为动态网页,这个时候,我们就需要找接口

点击网络标签,我们可以看到网页向服务器发送了很多请求,数据很多,找起来太费时间

我们点击XHR分类,可以减少很多不必要的文件,省下很多时间。

XHR类型即通过XMLHttpRequest方法发送的请求,它可以在后台与服务器交换数据,这意味着可以在不加载整个网页的情况下,对网页某部分的内容进行更新。也就是说,向数据库请求然后得到响应的数据是XHR类型的

然后我们就可以在XHR类型下开始一个个找,找到了如下的数据

通过查看Headers获得URL

打开之后,我们发现其为近两天的天气情况。

打开后我们可以看到上面的情况,这是个json格式的文件。然后,它的数据信息是以字典的形式来保存的,而数据是都保存在“data”这个键值里面。

ok,找到了json数据,我们来对比下看是否是我们找的东西

通过对比,数据正好对应,那就说明咱们已经拿到数据了。

二、拿到相关网址

'''

ok,相关网址我们已经拿到了,下面就是具体的代码实现了。至于怎么实现,

我们知道json数据可以使用response.json()转字典,然后操作字典。

三、代码实现

知道了数据的位置后,我们开始来写代码。

3.1 查询所有城市名称和编号

先抓取网页,通过添加headers来伪装成浏览器来对数据库地址进行访问,防止被识别后拦截。

url_city = "https://www.amap.com/service/cityList?version=202092419"

得到我们想要的数据之后,我们通过查找可以发现cityByLetter里的编号和名称是我们需要的,那么我们就可以盘它了。

    if "data" in content:

3.2 根据编号查询天气

得到了编号和名称,下面肯定就是查询天气呀!

先来看接口

通过上图,可以确定最高温度,最低温度等内容。那么就以此来进行数据爬取。

url_weather = "https://www.amap.com/service/weather?adcode={}"

ok,我们的设想已经实现了。

四、完整代码

# encoding: utf-8

五、保存结果

六、 资源分享

对于零基础同学,如要要达到使用 Python 的需要,那都是需要从 Python 基础知识进行系统学习的。在此分享一下自己零基础学习 Python 的经验,推荐一些基础学习资料希望大家能有所收获!

python零基础

网络爬虫

爬虫技术是数据采集的利器,在大数据时代作为数据提供方,十分有用武之地。利用 Python可以提升对数据抓取的精准程度和速度。Python入门爬虫比较简单,因为不需要在一开始掌握太多基础和底层的知识就可以很快上手,而且很快可以做出成果,非常适合无编程基础的同学。

Python 开发工具

Python 学习书籍

Python 入门视频

Python 实战案例


以上资料都已经整理好,对 Python 感兴趣,想要做 Python 兼职,找工作的朋友都可以扫描下方【CSDN官方认证】二维码,免费领取 Python 全套资料,欢迎加入我们一起学习Python!

python零基础爬虫练习:如何用python爬取高德地图相关推荐

  1. python爬取电影网站存储于数据库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)...

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  2. python爬网站的题库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  3. Python零基础爬虫之回车桌面壁纸并实现自动换壁纸(内附完整源码)

    前言 嗨喽,大家好,这里是魔王~ [课题]: Python零基础爬虫之回车桌面壁纸 [课题介绍]: 壁纸不应该只是一张图片,它应该是一门哲学 回车桌面网100000张无水印,高分辨率,电脑桌面壁纸, ...

  4. python爬虫实践——零基础快速入门(四)爬取小猪租房信息

    上篇文章我们讲到python爬虫实践--零基础快速入门(三)爬取豆瓣电影 接下来我们爬取小猪短租租房信息.进入主页后选择深圳地区的位置.地址如下: http://sz.xiaozhu.com/ 一,标 ...

  5. Python零基础入门(一)——Python基础关键字和语法[学习笔记]

    Python零基础入门(一)--Python基础关键字和语法 目录 1. Hello World! 2. 字符串操作 3. 简单数学计算 4. if elif else 5. 循环 基础类型 pyth ...

  6. python爬取高德地图_爬虫实战:如何爬取高德地图?

    提起高德地图,咱们每一个人都不会陌生,高德地图是一款非常好用的地区服务软件,很多用户在出行的时候都会使用这款软件,日程用来导航,也可以用来打车,一次呼叫多种车型,用户可以在这里获得更好的服务,随时都可 ...

  7. Python爬取高德地图各城市天气

    Python爬取高德地图各城市天气 爬虫练习项目之一.从高德地图json数据接口获取天气.可以获取某省的所有城市天气.高德地图的这个接口还能获取县城的天气,我只写到了市.有兴趣的朋友可以尝试一下. 完 ...

  8. PYTHON爬取高德地图POI

    PYTHON爬取高德地图POI 使用高德地图API爬取POI数据,首先需要申请高德地图API的KEY和获取<POI分类编码表>,本实例的最后结果是根据不同的poi类型分别生成多个EXCEL ...

  9. 爬虫实战:如何爬取高德地图?

    提起高德地图,咱们每一个人都不会陌生,高德地图是一款非常好用的地区服务软件,很多用户在出行的时候都会使用这款软件,日程用来导航,也可以用来打车,一次呼叫多种车型,用户可以在这里获得更好的服务,随时都可 ...

最新文章

  1. 第一章 深入.NET框架
  2. Java-protected的使用范围
  3. 【PAT乙级】1082 射击比赛 (20 分)
  4. jpa原生query_Spring Data JPA原生SQL查询
  5. Launch custom android application from android browser
  6. 笨办法学 Python · 续 练习 24:URL 快速路由
  7. Docker容器实现原理及容器隔离性踩坑介绍
  8. 《iOS 6核心开发手册(第4版)》——1.13节秘诀:从滚动视图中拖动
  9. JS自定义表单提交处理方案
  10. HDFS优缺点及解决方案
  11. 大数据学习开篇:了解大数据导论、清楚大数据应用领域和前景
  12. (QACNN)自然语言处理:智能问答 IBM 保险QA QACNN 实现笔记
  13. HD2直刷WP7系统教程及详细说明【ROM+直刷驱动+内存卡工
  14. 游戏虚拟引擎自学_自学5个小时,如何做出一个游戏?
  15. java将输入的阿拉伯数字金额转换为中文大写金额
  16. 基于Revel+Layui框架快速入门教程
  17. Dima and Salad 01背包变形
  18. android activity 旋转,Android 设定横屏,禁止屏幕旋转,Activity重置
  19. PMP考试时间多长?
  20. 实体店为什么难以留住客户?商业模式值得尝试

热门文章

  1. 如何利用 Python + Selenium 自动化快速截图
  2. LoRaWAN设备接入阿里云IoT企业物联网平台实战——实践类
  3. 数据库系统概论第五版课后习题
  4. 将瞰景smart3d空三结果导入contextcapture(CC)进行建模
  5. 更改计算机名蓝屏,新机型win10改win7系统开机出现蓝屏代码0X000000a5解决方法
  6. 字符串—StringBuilder
  7. 基于C语言Win32API窗口实现的物流配送信息管理系统
  8. Css之scoped (有作用域的 CSS)
  9. Linux核心安装(转)
  10. 华为ensp---AC二层旁挂组网实验(参照华为官方手册)