共计 1480 个字符,预计需要花费 4 分钟才能阅读完成。
大家好,我是大志
这次介绍一个爬取动静网页的超简略的一个小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!