Python 请求(AJAX 请求)中缺少数据

thf9527

我试图从这个网站抓取历史天气数据:http : //www.hko.gov.hk/cis/dailyExtract_uc.htm? y=2016&m =1

在对 AJAX 调用进行了一些阅读后,我发现请求数据的正确方法是通过以下代码:

import requests
from bs4 import BeautifulSoup
import json
import pandas as pd

headers = {
'Accept': 'text/plain, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.9',
'Connection': 'keep-alive',
'Host': 'www.hko.gov.hk',
'Referer': 'http://www.hko.gov.hk/cis/dailyExtract_e.htm?y=2016&m=3',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest'
}

with requests.Session() as s:
#request April 2015 weather data
    r = s.get(r"http://www.hko.gov.hk/cis/dailyExtract/dailyExtract_201504.xml",verify = False, headers = headers)
    soup = BeautifulSoup(r.content,'lxml')
data = json.loads(soup.get_text())['stn']['data'][0]['dayData'][:-2]
df = pd.DataFrame(data)

我注意到我检索的数据不包含右侧的 3 列,我在 get 请求中遗漏了什么?

哈尔

似乎如果您要求全年然后提取月份就在那里

import requests
import json

with requests.Session() as s:
    r = s.get(r"http://www.hko.gov.hk/cis/dailyExtract/dailyExtract_2015.xml",headers = {'User-Agent': 'Mozilla/5.0'}).json()
    print(r['stn']['data'][3]['dayData'][0])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从python文件中的ajax发布请求获取发布数据

来自分类Dev

python的ajax请求出错

来自分类Dev

ajax请求python数组列表

来自分类Dev

Scrapy-请求表后缺少数据

来自分类Dev

webdriver等待python中的ajax请求

来自分类Dev

Python HTML请求中缺少属性

来自分类Dev

使用请求库使用python模拟Ajax请求

来自分类Dev

使用Python请求库发送jquery AJAX GET请求

来自分类Dev

使用请求库使用python模拟Ajax请求

来自分类Dev

使用Python请求跳过AJAX表单

来自分类Dev

Django和python的AJAX发布请求

来自分类Dev

无法获取发布ajax请求数据python

来自分类Dev

缺少数据的python中的Pct_change

来自分类Dev

如何识别在Python Flask中通过AJAX发出的请求?

来自分类Dev

ValueError:请求网址中缺少方案:python中的h

来自分类Dev

请求中缺少表单数据

来自分类Dev

失败的样本中缺少请求数据

来自分类Dev

Scrapy python error-请求URL中缺少方案

来自分类Dev

Scrapy python error-请求URL中缺少方案

来自分类Dev

MVC中Ajax请求/数据请求的位置在哪里?

来自分类Dev

从多个请求中检测特定的ajax请求(已发送数据)

来自分类Dev

从Python中的API请求中提取数据

来自分类Dev

Python从请求中打印JSON数据

来自分类Dev

Python:请求中的POST数据问题

来自分类Dev

使用 python 从 curl 请求中获取数据

来自分类Dev

清理AJAX请求中的POST数据

来自分类Dev

请求参数中的Ajax POST数据

来自分类Dev

如何从JQuery Ajax请求中获取“数据”

来自分类Dev

从AJAX请求中收集JSON数据