Учитывая типичный поиск по ключевым словам в Google Scholar (см. Скриншот), я хочу получить словарь, содержащий title и url каждой публикации, появляющейся на странице (например, *).1005 *}.
Чтобы получить страницу результатов из Google Scholar, я использую следующий код:
from urllib import FancyURLopener, quote_plus
from bs4 import BeautifulSoup
class AppURLOpener(FancyURLopener):
version = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36'
openurl = AppURLOpener().open
query = "Vicia faba"
url = 'https://scholar.google.com/scholar?q=' + quote_plus(query) + '&ie=UTF-8&oe=UTF-8&hl=en&btnG=Search'
#print url
content = openurl(url).read()
page = BeautifulSoup(content, 'lxml')
print page
Этот код правильно возвращает страницу результатов в (очень некрасивом) формате HTML, однако я не смог продвинуться дальше этого уровня, так как не мог понять, как использовать BeautifulSoup (с которым я не слишком знаком)для анализа страницы результатов и извлечения данных.
Обратите внимание, что проблема связана с разбором и извлечением данных со страницы результатов, а не с самим Google Scholar, поскольку страница результатов правильно получена с помощью вышеуказанногокод.
Может кто-нибудь дать несколько советов? Заранее спасибо!