Python вывод запросов отличается от ожидаемого вывода - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь очистить таблицу генерации от следующего сайта .

У меня есть следующий код:

import requests
from bs4 import BeautifulSoup

source = requests.get('http://reneweconomy.com.au/nem-watch/', headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(source.text, 'html.parser')

table = soup.table["database table"].strip()
print(table)

Однако этот код не может найти таблицу на странице соскоба, даже если она просматривается при просмотре. Inspect Может ли это быть проблемой с неправильным списком сайта?

Спасибо

1 Ответ

2 голосов
/ 17 января 2020

Эта страница использует JavaScript для загрузки данных и создания таблицы.

Использование DevTools в Firefox / Chrome Я нашел его загрузить из

https://ausrealtimefueltype.global-roam.com/api/SeriesSnapshot?time=

как JSON данные


import requests

headers = {'User-Agent': 'Mozilla/5.0'}

url = 'https://ausrealtimefueltype.global-roam.com/api/SeriesSnapshot?time='

r = requests.get(url,  headers=headers)
data = r.json()

for item in data['seriesCollection']:
    #for key, value in item.items():
    #    print(key, value)
    print('region:', item['metadata']['region']['name'])
    print('fuel type:', item['metadata']['fuelType']['name'])
    print('value:', item['value'])
    print('---')

Результат

region: Queensland
fuel type: Black Coal
value: 5536.51307
---
region: Queensland
fuel type: Gas
value: 560.24621
---
region: Queensland
fuel type: Liquid Fuel
value: 0.0
---
region: Queensland
fuel type: Other
value: 23.9
---
region: Queensland
fuel type: Hydro
value: 18.415
---

# etc.
...