Как извлечь заголовок из динамически сформированных веб-страниц
Я работаю над приложением для закладок, используя Django, и хотел бы извлечь заголовок из веб-страниц, которые используют javascript для генерации заголовка. Я посмотрел на ветряную мельницу и установил / запустил селен, что сработало, но я считаю, что эти инструменты - это больше, чем нужно для получения заголовка веб-страницы. В настоящее время я пытаюсь использовать spynner, но мне не удалось получить содержимое после полной визуализации страницы. Вот код, который у меня сейчас есть...
from spynner import Browser
from pyquery import PyQuery
browser = Browser()
browser.set_html_parser(PyQuery)
browser.load("https://www.coursera.org/course/techcity")
Я получаю SpynnerTimeout: Тайм-аут достигнут: ошибка 10 секунд при выполнении последней строки в оболочке Python. Если я выполню последний оператор еще раз, он вернет True, но возвращается только страница до запуска javascript, которая не имеет "правильного" заголовка страницы. Я также попробовал следующее:
browser.load("https://www.coursera.org/course/techcity", wait_callback=wait_load(10))
browser.soup("title")[0].text
Но это также возвращает неправильный заголовок - 'Coursera.org' (то есть заголовок до запуска javascript).
Вот мои вопросы:
- Существует ли более эффективный рекомендуемый подход для извлечения заголовка веб-страницы, который динамически генерируется с помощью javascript и использует какой-либо другой инструмент / библиотеку python? Если да, то что это за рекомендуемый подход? - любой пример кода приветствуется.
- Если использование spynner является хорошим подходом, что я должен делать, чтобы получить заголовок после загрузки страницы или, что еще лучше, сразу после того, как заголовок был представлен в javascript. Код, который у меня есть сейчас, - это то, что я собрал из поста в блоге и искал источник для spynner на github.