• API инстаграм - curl или ajax?

    JabbaHotep
    @JabbaHotep
    Пытаюсь минимизировать ручную работу
    Если мы говорим именно про API, то там делаются обычные http запросы, для доступа в запрос включается токен, ответ приезжает в JSON формате. А чем его делать curlом или другими средствами это не важно.
    Если же речь идет о парсинге, то там действительно есть возможность работать как с html так и с json. Например, у любого канала типа https://www.instagram.com/instagram/, есть JSON версия (неофициальная конечно) которую можно забрать по URL: https://www.instagram.com/instagram/?__a=1.

    JSON ресурс забирать выгоднее потому что:
    1. Он имеет меньший размер
    2. Его легче распарсить
    Ответ написан
    Комментировать
  • Какие взять прокси для парсинга Amazon?

    JabbaHotep
    @JabbaHotep
    Пытаюсь минимизировать ручную работу
    С Амазоном работает Digitalocean, но все равно придется решать капчу
    Ответ написан
    Комментировать
  • Как парсить без бана?

    JabbaHotep
    @JabbaHotep
    Пытаюсь минимизировать ручную работу
    Для большинства сайтов подойдет закупка прокси, но есть и такие сайты которые уже забанили пулы известных облачных сервисов (линода там и прочие digitalocean), поэтому гарантированно рабочего решения для всех сайтов с помощью прокси нет.
    Также на проблемных сайтах помогает максимально копировать запросы из реального браузера, все хедеры, рефереры и тому подобное. Также в практике были случаи когда парсинг прерывался из-за кук, в этом случае можно чистить куки. Паузы подбирать, например, nike нещадно банит, но если сделать паузы 40-80 секунд, то можно отпарсить с одним прокси без проблем.
    В общем, каждый кейс надо разбирать отдельно и принимать решение наиболее подходящее.
    Ответ написан
    Комментировать
  • Как оптимизировать процесс парсинга данных с веб-сайтов?

    JabbaHotep
    @JabbaHotep
    Пытаюсь минимизировать ручную работу
    Ну тут все просто, делаете очередь в базе из 20 записей, каждый раз когда переходите к новому сайту, запрашиваете одну запись отсортированную по дате последнего обновления, парсите сайт, по окончании апдейтите дату обновления для записи, и забираете следующую запись.
    Ну и соответственно если сервер перегрузят или остановят парсер, при перезапуске он всегда возьмет следующий сайт.
    Ответ написан
    Комментировать