Когда вы нажимаете кнопку поиска, она перенаправляет вас на ссылку
https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=smart%20grid
Параметр queryText является вашим поисковым запросом. Контент загружается с использованием JavaScript, поэтому вы не можете просто отправить запрос на ссылку, а затем проанализировать ответ. Вы можете
- Использовать селен для перехода по ссылке или
- Эмулировать XHR-запрос, используемый на этой странице
С помощью Selenium перейдите по ссылке (с вашим предпочтительным поисковым термином), нажмите кнопку «Загрузить больше», пока не загрузите достаточно статей, а затем получите ответ.
Я предпочитаю эмулировать XHRrequest b'coz это быстрее.
import requests
# change this for a different search term
search_term = "smart grid"
# change this for different page no
page_no = 1
headers = {
"Accept": "application/json, text/plain, */*",
"Origin": "https://ieeexplore.ieee.org",
"Content-Type": "application/json",
}
payload = {
"newsearch": True,
"queryText": search_term,
"highlight": True,
"returnFacets": ["ALL"],
"returnType": "SEARCH",
"pageNumber": page_no
}
r = requests.post(
"https://ieeexplore.ieee.org/rest/search",
json=payload,
headers=headers
)
page_data = r.json()
for record in page_data["records"]:
print(record["articleTitle"])
print('https://ieeexplore.ieee.org'+record["documentLink"], end="\n----\n")
Вывод
IEEE Vision for Smart Grid Controls: 2030 and Beyond Reference Model
https://ieeexplore.ieee.org/document/6598993/
----
IEEE Vision for Smart Grid Control: 2030 and Beyond Roadmap
https://ieeexplore.ieee.org/document/6648362/
----
Software models for Smart Grid
https://ieeexplore.ieee.org/document/6225717/
----
IEEE Vision for Smart Grid Communications: 2030 and Beyond Roadmap
https://ieeexplore.ieee.org/document/6690098/
----
IEEE Smart Grid Vision for Computing: 2030 and Beyond Roadmap
https://ieeexplore.ieee.org/document/7376995/
----
...
Ответ в формате JSON, который мы можем проанализировать с помощью python, чтобы получить желаемый вывод. URL https://ieeexplore.ieee.org/rest/search
можно получить с помощью вкладки network в инструментах разработчика браузера.