Скрипты для парсинга ряда категорий каталогов 2gis и vl
- Установить Python 3.5.+ по ссылке. При установке проверить галочки, чтобы также установился pip, и был добавлен python в PATH для удобства. Далее два варианта -
- можно скачать данный репозиторий(кнопка clone or download -> download as zip file).
- Далее запустить в папке
python main.pyлибо через командную строку (cmd, при условии что python добавлен в PATH), либо через python IDLE в Пуск(File->Open <main.py>, затем Run->Run Module). - С первого раза скрип не заработает, т.к нужны библиотеки, которые надо установить -
pip install beautifulsoup4 requests unicodecsv. - После запуска, скрипт создаст в домашней папке пользователя файлы log-<дата/время>.log где будет записан лог скачивания и results-<дата/время>.csv, где будут по мере скачивания рубрик каталога выгружаться данные.
- Либо скачать файл outsourceScraper-0.1.0-py3-none-any.whl (т.н. пакет) нужно нажать кнопку raw чтобы загрузить файл, и установить его `pip install outsourceScraper-0.1.0-py3-none-any.whl. Он автоматически подтянет зависимости.
- После чего нужно запустить интерпретатор питона (
pythonв обычной командной строке, но лучшеpython IDLEиз Пуск, это более удобный вариант). В интерпретаторе набрать
import outsourceScraper.main as m
m.main()
Возможны следующие аргументы функции main - path='путь до папки, куда сохранять результаты';
max_threads=10 - устанавливает максимальное число одновременных соединений с сайтом, можно уменьшить при появлении ошибки 429). По сути те же параметры доступны при запуске через командную строку - см. подсказку python main.py -h.
В него пишется информация о скачиваемых страницах и о обнаруженных и "пойманых" ошибках. Формат |дата|тэг| сообщение
В идеале он не должен содержать записей с тэгом ERROR или EXCEPTION. Возможная ошибка network error: url <>, code 429 означает,
что сайт не позволяет большого числа одновременных запросов к нему
Описание полей
- firmTitle - название фирмы как она внесена в каталог. Для 2гис характерно отделение запятыми абревиатур типа ООО и ИП, а также профиля компании и перенос их в конец названия.
- catalogURL - url, по которому можно получить доступ к подробной карточке компании в каталоге
- catalog - 'vl' или '2gis'
- labeledCategory - категория фирмы, так, как она занесена в каталог. Для vl это отдельная строка для каждой фирмы, в 2gis она определяется исходя из url справочника
- firmShortDesc - краткое описание деятельности фирмы, если оно есть. Для vl оно бесплатно и присутствует у большинства фирм. Для 2гис оно, по видимому, платно и поэтому их мало и они прямо выделены на сайте как рекламные.
- site - сайт компании, если указан
- renewDate - для каталога vl указана дата последнего обновления информации. Для каталога 2гис такой информации нет, но обещают "не реже 3 раз в год"
- clicks - каталог vl.ru указывает число кликов по записи каталога за последние 3 месяца
- promoted - для каталога 2гис возможно "продвинуть" объявление, снабдив его описанием компании и подняв в выдаче. Отмечены "True" эти самые записи.
- firmAdvertisment - в 2gis в каталоге публикуется короткое объявление (это оно и есть), а на страничке компании возможно развернутое описание(оно идет в firmShortDescription)
- phone
- region -цифровой код региона
- city
- rest - оставшееся часть адреса (улица, дом и пр.) `