Скриншоты сайта

Если у вас есть ключ, который повторяется для каждой строки, вы можете создать декартово произведение с использованием слияния (как в SQL).

from pandas import DataFrame, merge
df1 = DataFrame({'key':[1,1], 'col1':[1,2],'col2':[3,4]})
df2 = DataFrame({'key':[1,1], 'col3':[5,6]})

merge(df1, df2,on='key')[['col1', 'col2', 'col3']]

См. здесь документацию: http://pandas.pydata.org/pandas-docs/stable/merging.html#brief-primer-on-merge-methods-relational-algebra

400
задан Paolo Forgia 9 August 2017 в 13:46
поделиться

6 ответов

ПОСЛЕДНИЕ РЕДАКТИРОВАТЬ : через 7 лет я все еще получаю отклики за этот ответ, но я предполагаю этот теперь намного точнее.


Конечно, вы можете, но вам нужно будет что-то визуализировать. Если вы действительно хотите использовать только php, я предлагаю вам HTMLTOPS , который визуализирует страницу и выводит ее в файл ps (ghostscript), а затем преобразует ее в файлы .jpg, .png, .pdf. .. может быть немного медленнее со сложными страницами (и не поддерживает весь CSS).

Иначе, вы можете использовать wkhtmltopdf для вывода html-страницы в pdf, jpg, как угодно .. Примите CSS2.0, используйте webkit (оболочку Safari) для рендеринга страницы .. так что все должно быть в порядке. Вы также должны установить его на свой сервер.

ОБНОВЛЕНИЕ Теперь, с новой функцией HTML5 и JS, также можно рендерить страницу в объект холста, используя JavaScript. Вот хорошая библиотека для этого: Html2Canvas и , вот реализация того же автора для получения обратной связи, подобной G +. После того, как вы поместили dom на холст, вы можете затем отправить его на сервер через ajax и сохранить его как jpg.

EDIT : Вы можете использовать инструмент imagemagick для преобразования pdf в png. Моя версия wkhtmltopdf не поддерживает изображения. Например, convert html.pdf -append html.png .

EDIT : Этот небольшой сценарий оболочки дает простой / но работающий пример использования linux с php5-cli и инструменты, упомянутые выше.

РЕДАКТИРОВАТЬ : теперь я заметил, что команда wkhtmltopdf работает над другим проектом: wkhtmltoimage, который дает вам jpg напрямую

275
ответ дан 22 November 2019 в 23:40
поделиться

Не напрямую. Такие программы, как Selenium, имеют такие функции и могут управляться PHP, но имеют другие зависимости (например, запуск своего сервера на базе Java на компьютере с браузером, который вы хотите снимать с экрана)

-1
ответ дан 22 November 2019 в 23:40
поделиться

Это на Python, но, просматривая документацию и код, вы можете увидеть, как именно это делается. Если вы можете запустить Python, то это готовое решение для вас:

http://browsershots.org/

Обратите внимание, что все может работать на одной машине для одной платформы или на одной машине с виртуальными машинами, на которых запущены другие платформы.

Бесплатно, с открытым исходным кодом, прокрутите вниз страницы для ссылок на документацию, исходный код и другую информацию.

10
ответ дан 22 November 2019 в 23:40
поделиться

Да. Вам понадобятся некоторые вещи, но:

См. khtmld (aemon) на * nx. См. Url2Jpg для Windows, но так как это приложение dotNet, вам также следует проверить Url2Bmp

Оба консольных инструмента, которые вы можете использовать из своего веб-приложения, чтобы получить скриншот.

Есть также веб-сервисы, которые предлагают это. Посмотрите, например, этот .

Редактировать:

Эта ссылка полезна для.

10
ответ дан 22 November 2019 в 23:40
поделиться

Это должно быть полезно для вас:

https://wkhtmltopdf.org/

Убедитесь, что вы скачали дистрибутив wkhtmltoimage!

17
ответ дан 22 November 2019 в 23:40
поделиться

webkit2html работает в Mac OS X и Linux, довольно прост в установке и использовании. См. это руководство .

Для Windows вы можете использовать CutyCapt , который имеет аналогичные функции.

1
ответ дан 22 November 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: