Причина, по которой вы не видите элемент с классом gs-title
, потому что его нет при загрузке (GET) страницы. Ответ просто скелет. После загрузки страницы она выполняет вызовы API и только после получения ответа на этот вызов страница реструктурируется и затем отображаются данные.
Ваша проблема -> Ко времени выполнения вызова API возвращается код python со скелетом html.
Это всегда относится к SPA или приложениям, созданным используя платформы Frontend.
Ваше решение - найти этот вызов API и узнать, как он меняется в зависимости от поискового запроса. (В вашем случае текущий запрос World War 2
).
Мне удалось найти этот вызов API.
1012 *
https://cse.google.com/cse/element/v1?rsz=filtered_cse&num=10&hl=en&source=gcsc&gss=.com&cselibv=8b2252448421acb3&cx=partner-pub-8594935838850960: 3418779728 & Q = мир% 20war% 202 и безопасные = выкл и cse_tok = AJvRUv3VJzJXI-LILOFzN60EWiCv: 1584040108582 & Exp = csqr, куб.см и обратного вызова = google.search.cse.api7320 Если вы видите, ваш запрос встроен в URL, и когда вы нажмете на него, вы получите файл json, который имеет один ключ с именем results
, который является массивом, и внутри которого вы увидите все свои данные.
![2](https://i.stack.imgur.com/H2xXZ.png)
Теперь, если это ваш единственный вариант использования, я бы посоветовал вам сделать python requests.get()
вызовите этот API, возьмите данные json и дампите их в dict, а затем просмотрите их для своих данных.
Если это не единственный случай, проверьте, как создается URL-адрес API для другого поиска. запросить, а затем сгенерировать это и выполнить команду get и travers results
.
Надеюсь, это поможет.