Веб-сайт загружен событием JavaScript
, которое динамически отображает данные после загрузки страницы. Библиотека
requests
не сможет отображать JavaScript
на лету. так что вы можете использовать selenium
или requests_html
. и действительно, есть много модулей, которые могут сделать это.
Теперь у нас есть еще одна опция в таблице, чтобы отследить, откуда данные отображаются. Мне удалось найти запрос XHR , который используется для извлечения данных из back-end
API
и их передачи на сторону пользователей.
Вы можете получить XHR
запрос открытым Developer-Tools и проверка Сеть и проверка XHR/JS
запросов, сделанных в зависимости от типа вызова, таких как fetch
import requests
import json
r = requests.get("https://search.api.cnn.io/content?q=toronto&size=10").json()
data = json.dumps(r, indent=4)
# print(data) #to see the full output in nice format.
# print(r.keys()) # to see the keys of the JSON dict
print(r["meta"])
Вывод:
{'start': 1, 'end': 10, 'total': 10, 'of': 2208, 'maxScore': None, 'duration':
55}
Примечание: вы можете поиграть с q=toronto
, чтобы запросить другой keyword
, и size=10
, чтобы определить размер вывода.