一、流程介绍
首先,观察页面,如下图所示,我们所需要的数据是日期、最高温、最低温、天气、风力风向和空气质量指数:
查询其他月份或者年份的数据可以发现,页面的URL没有发生变化,说明页面是异步加载的。通过开发者工具抓包可以轻松的抓到数据所在的XHR数据包。请求头和参数的构造这里不再详细叙述,直接提供完整代码。值得一提的是,在解析数据时,当然可以使用re正则表达式、xpath表达式等,但是这个案例中,天气数据保存在table标签中,是一个表格类型的数据,我们可以使用pandas的read_html()方法,这个方法在这个案例中使用起来非常简单。
二、完整代码
import time
from io import StringIO
import requests
import pandas as pd
headers =