大家好,我是大志
这次介绍一个爬取动静网页的超简略的一个小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!