python+selenium+Chrome(无头版)爬取国家地表水水质自动监测实时数据发布系统(修改版)——动态网页爬虫

这篇教程介绍了如何使用Python结合Selenium和Chrome无头浏览器爬取国家地表水水质自动监测实时数据发布系统的新版数据。由于网站更新,原有的PhantomJS方法不再适用。教程详细讲解了如何查看网页源代码,定位数据位置,并通过点击“所有流域”按钮获取完整数据。代码运行后,能成功获取到CSV格式的水质数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一篇动态网页的爬虫教程,新手可以操作一下,简单实用。

一、前言

这篇blog跟python+selenium+phantomJS爬取国家地表水水质自动监测实时数据发布系统——动态网页爬虫的爬虫思路非常类似。
但由于原来的国家地表水水质自动监测实时数据发布系统进行了改版,而且新版本的网页向我们展示了更加全面的数据,那篇blog的代码和工具已经无法顺利爬取数据了,所以爬取代码和工具需要做一个小小的修改。
针对新的国家地表水水质自动监测实时数据发布系统的网页,大家可以点击,查看一下源代码,看看有何不同。

二、查看网页源文件

打开浏览器,F12:在这里插入图片描述
大家注意图中的3个地方:
1、第③个位置是数据位置;
2、如果网页返回了所有的数据,我们只需要定位这3个地方就可以一步步爬取到数据,这就跟之前的代码没什么区别了;
3、难就难在,这个网页固定返回60条数据,每一次滚动都会重新返回一下;
4、这样的话,我们怎么爬取也很难保证数据的完整性,要么冗余,要么缺失;
5、但是,仔细查看网页就会发现,网站提供另外一个接口,允许我们查看全部数据(看下图);
在这里插入图片描述
6、只需要点击“所有流域”,就会返回这一天内所有上报的数据;
7、我们只需要定位到“button”,点击一下(click())就可以了。
8、明白了吗?

三、代码

#--author--张俊杰@Nick
import datetime
import pandas as pd
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdri
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值