Как сделать скриншоты в python?
У меня есть идея, и я хочу ее реализовать. Но я не уверен, что это сработает. Итак, хотел получить ваш вклад.
I would like to take screenshots of a url.
Скажем, когда я открываю сайт www.espncricinfo.com
Я хотел бы сделать скриншот этой страницы и сохранить локально. Это сохраненное изображение можно преобразовать в GIF
позже. Может ли это быть достигнуто через python
? Любые предложения / входы, чтобы сделать это?
обновленный
А также возможно ли сделать скриншот в браузере без головы?
Любые возможности для запуска браузера в headless mode
(без графического интерфейса), а затем сделать снимок экрана определенной области веб-страницы?
2 ответа
Чтобы сделать снимок экрана с помощью python:
import pyscreenshot as ImageGrab
im = ImageGrab.grab()
im.save('path/to/image/folder/image_name.png')
im.show()
Я знаю, что уже немного поздно, но только что увидел этот вопрос, и на случай, если кто-то еще ищет мощный инструмент, чтобы делать скриншоты, а также использовать безголовые браузеры с python... Я просто хочу порекомендовать более глубоко изучить https://www.seleniumhq.org/. На YouTube доступно множество обучающих программ. Однако это ИМХО самый точный фреймворк для выполнения вашей задачи, ИМХО. Для создания снимков экрана вы можете определить разрешение экрана и т. Д.
Да и нет, если вы отправите запрос с помощью urllib, вы получите взамен HTML-код, который является первым шагом к отображению веб-страницы. Но вы должны создать эту веб-страницу с помощью браузера, в противном случае все, что вы увидите, это куча текста.
Есть некоторые библиотеки Python, которые могут сделать это, такие как pywebkitgtk, но они, вероятно, не предоставят вам лучший опыт и поддержку.
Другая вещь, которую вы можете попробовать - это использовать crod и firefox/chrome/ что угодно, а затем использовать python для автоматизации процесса.
Да, и, кстати, я настоятельно рекомендую обновить до python3