大家好,我是大志
这次介绍一个爬取动静网页的超简略的一个小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 兼职,找工作的敌人都能够点击这里收费支付 Python 全套材料,欢送退出咱们一起学习Python!