python抓取动态网页(一个爬取动态网页的超简单的一个小demo了解多少)

优采云 发布时间: 2022-03-07 17:19

  python抓取动态网页(一个爬取动态网页的超简单的一个小demo了解多少)

  大家好,我是大智

  这次给大家介绍一个超级简单的爬取动态网页的小demo。

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

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

  好的,让我们开始进入正题。

  一、 分析网页结构

  本篇博文以高德地图开头:

  打开后发现里面有一堆div标签,但是没有我们需要的数据。这时候,我们就可以判断为动态网页了。这时候,我们需要找到一个接口

  点击网络选项卡,我们可以看到网页向服务器发送了很多请求,数据很多,查找时间太长了

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

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

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

  通过查看标头获取 URL

  打开后发现是这两天的天气情况。

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

  ok,找到了json数据,我们对比一下看看是不是我们要找的

  通过比较,数据完全对应,这意味着我们已经获得了数据。

  二、获取相关网址

  '''

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

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

  三、代码实现

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

  3.1 查询所有城市名称和数字

  先爬取网页,伪装成浏览器,添加header访问数据库地址,防止被识别和拦截。

  得到我们想要的数据后,我们可以通过搜索发现cityByLetter中的数字和名称是我们需要的,然后我们就可以磁盘了。

   if "data" in content:

  3.2 根据号码查询天气

  得到号码和名字,下面一定要查天气!

  先看界面

  通过上图可以确定最高温度、最低温度等。然后使用它进行数据爬取。

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

  好的,我们的愿景已经实现。

  四、完整代码

  # encoding: utf-8

  五、保存结果

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线