Скрипт для поиска и сбора веб-сайтов компании по названию в google
Если название и адрес одинаковый (+ возможность менять и добавлять другие правила), то добавлялся в базу - веб-сайта компании…
Скрипт должен быть написан на python, работать с капчей и должна быть реализована многопоточность, без интерфейса, обычная консоль,
- чтоб не искал и добавлял бизнескаталоги, должен быть раелизован блеклист ссылок, который необходимо игнорировать при выдачи результатов
- ISO код страны (Пример: RU, AM, PL).
терминология
варианты названия фирмы = словосочетание
Принцип и порядок работы скрипта:
1. Берется название фирмы из csv файла или из базы данных(Для теста можно использовать вариант csv, но в конечном скрипте должно взаимодействовать с базой- база данных PostgreSQL)
2. Поиск сайтов по названию фирмы в поисковике google или в google картах.
3. Переход на сайты из списка выданных результатов google поисковиком.
4. Поиск по всем всем страницам сайта слов из словосочетании, по которым будет определятся нужный нам сайт:
Пример, название фирмы "Albins Mekaniska Verkstad AB" будет делится через пробел на такие словосочетания как:
{0} Albins Mekaniska Verkstad AB
{1} Albins Mekaniska Verkstad
{2} Albins Mekaniska
{3} Albins
(По каждому из этих вариантов словосочетания должен производиться поиск на страницах)
5. Дальше скрипт должен оценить найденные словосочетания следующими баллами:
+20 баллов - Полное совпадение по названию
+10 балла - Частичное совпадение слов начиная от двух слов
+5 балл - Совпадение по одному слову
+1 свой вариант
6. На основании оценки совпадении по найденным словосочетаниям, скрипт определяет насколько найденный сайт соответствует полному словосочетанию.
7. Дальше мы в ручную подтверждаем, либо не подтверждаем оценку скрипта и при необходимости корректируем рейтинг найденных сайтов и дорабатываем формулу результативности
- А также, можем быстро перейти на страницу любого сайта из списка, для перепроверки.
8. Итогом тестового скрипта мы выводим результаты подтвержденных сайтов в csv формате.
Итогом готово решения, заносяться данные в базу данных.
На стадии отладки:
- Правки и доработки функционала на основании наших комментариев.