Главная > HTML CSS JS, PHP, Windows > Парсинг контактов с сайта представленных изображением.

Парсинг контактов с сайта представленных изображением.

Как спарсить и распознать контакте на сайте которые представлены в виде картинок?

Понадобилось очень "злым" людям, как то у конкурентов базу емайл с сайта конкурента скачать, сами емайл адреса конкурент отдавал не в открытом виде, а формировал в виде изображений, соответственно руками это делать не интересно, решили изобретать велосипед с минимальным ручным трудом, минимальной тратой времени и максимальной автоматизацией.

Первым делом написали на php небольшой скрипт который бегал по сайту и сохранял нужные картинки.

Сам скрипт не привожу, для каждого сайта он свой, но для наглядности кусочек который бегает и сохраняет картинки.

 В итоге, мы получили коло 140 000 изображений с емайл адресами и разной шелухой. Шаблон практически всегда был один, но самое удачное было в том, что емайл формировался как "Email: и сам емайл адрес".

Далее встал второй вопрос, как все это дело распознать? Первым на ум пришло все это запихнуть в FineReader но он сдался, сожрал 12 гигов RAM и повесился 🙂

Поискав по интернету, наткнулись на интересную софтинку, которая из командной строки умеет распознавать текст, звать это чудо vietocr (ссылка на нее sourceforge.net/projects/vietocr/files/vietocr/5.2/). Мы качали версию для windows.

Но у нас была загвоздка в том, что картинки которые принимает vietocr как мы поняли нужны были только JPG, а у нас в оригинале PNG, хоть мы и сохраняли их с разрешением JPG.

На помощь пришла FSResizer38 который мы довольно быстро перегнали PNG в JPG и получили нужный формат.

Далее через vietocr и bat скрипты, прогнали распознавание всех файлов вот таким кривым но примитивным скриптом.

 Скрипт, пробегается по картинкам, и для каждой формирует название (картинка.jpg.txt), почему именно так? да а зачем нам больше, на выходи мы получили для каждой картинки txt распознанный файл.

Далее, все эти файлы мы скрепили в один, вот таким не хитрым скриптом.

 Получив output.txt открыли его через notepad++ т.к. он очень хорошо справляется с большим кол-вом данных и получили так скажем шелуху + наши емайлы в формате Email: .....

Встал вопрос, как же из всего этого творения, достать только емайлы? Ответ прост, делаем поиск по Email: и жмем кнопку "Найти все в Текущем документе", после поиска, notepad++ выдает окно из которого можно скопировать только найденные значения, коих оказалось более 100 000. 

Выделяем все найденное, копируем на новый лист, убирает приставку Email: и перемещаем в Excel. В Excel делаем "Удалить дубликаты" и на выходе получаем уникальный список email адресов.

P.S. данная статья только показывает возможности распознавания текста и никак не является пособием для парсинга сайтов.

Categories: HTML CSS JS, PHP, Windows Tags:
1 звезда2 звезды3 звезды4 звезды5 звезд (3 votes, average: 4,00 out of 5)
Загрузка...
  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.


5 × пять =

Heads up! You are attempting to upload an invalid image. If saved, this image will not display with your comment.