• Чем лучше и быстрее парсить Amazon на Python?

    polarlord
    @polarlord
    Занимаюсь парсингом Амазона в промышленных масштабах (сотни тысяч страниц в день). Самая большая проблема не в библиотеках, а в том, что Амазон очень умело выявляет попытки парсинга и при этом постоянно совершенствует собственную технику обнаружения таких попыток. Поэтому самый действенный способ - это иметь в своем распоряжении приличный набор качественных прокси (с теми у которых отличается только последняя секция и номер порта долго работать не получится - попадут в черный список на срок от часа до суток, в зависимости от того как интенсивно будете через них слать запросы).
    По поводу библиотек - выбирайте их в соответствии с вашими потребностями, отталкиваясь от объема запросов которые нужно слать. Самые простые - это всякие requests, urllib, pycurl, multycurl. Ими целесообразно пользоваться в однопоточном и синхронном типе парсеров. Но практически всю работу будете писать руками. Если хотите чуть больше мощности и удобства - посмотрите в сторону Grab. Он может многое, в т.ч. удобно работает с прокси и т.д. Если нужен большой объем и скорость - используйте Scrapy. Крутая штука, но со своими правилами. Однако если нужно будет затачивать под себя - в сети много информации по нему.
    С API Амазон можно и нужно работать. Но есть несколько проблем:
    1. Существует лимит на кол-во обращений(тут подробнее, но можно в одном запросе слать до 10-ти ASIN).
    2. Самое неприятное, что по некоторым товарам (при использовании lookup-методов) инфа не приходит либо отличается от оригинала(сайта). Т.е. не нужно полагаться на то, что АПИ будет возвращать информацию полностью идентичную с их сайтом.
    3. Ограничение на кол-во товаров по которым возвращается инфа (при использовании search-методов). 100 товаров. Дальше - только парсинг. Такое ограничение не только у Амазон, у Ebay так же. Без этого - кол-во всяких дропшиперов и прочих посредников просто зашкалило бы.
    Несколько нюансов:
    -Не пытайтесь выдавать себя за Google Bot, ничего хорошего не выйдет, только потратите время.
    -Использование всяких браузерных технологий, наподобие PhantomJS или даже Selenium, толку не принесет. Там к проблеме IP еще добавятся куки и т.п. По скорости будет медленно, для больших объемов не подойдет.
    -Главное, как уже понятно, обойти систему которая определяет ботов и краулеры. Поэтому импровизируйте, экспериментируйте, думайте головой и ищите свои решения. На том конце сидят тоже люди ) В сети масса советов по этому поводу (можете начать с последнего раздела здесь).
    Ответ написан
    5 комментариев
  • Как преобразовать список чисел в список комплексных чисел в Python?

    @Andy_U
    data=[4, 5, 7, 8, 9, 0, 3, 3, 6, 6]
    c = [complex(a, b) for a, b in zip(data[:-1:2], data[1::2])]
    print(c)
    Ответ написан
    1 комментарий
  • Чем заняться на html/css?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Ну если речь идет о саморазвитии в свободное время и интересует вас при этом именно визуальщина, то либо всякие плагины/либы на гитхаб, либо демки на codepen.io пилить.
    Про гитхаб я не советчик, а вот по кодпену шарю. Заходите каждый день - смотрите чужие работы из picked/popular - ставите себе цель, делать не менее крутые штуки в будущем. Начать можете с форков чужих работ (там имеется крайне удобный для этого функционал) и ковыряния в них, дабы понять, что за магию люди делают. И параллельно с этим пилите свои демки на каждый чих. Каждый раз когда у вас в голове появляется мысль о реализации какого-то эффекта/лэйаута/компонента, лезете туда и пытаетесь это быстро накодить. На старте будут получаться некрасивые и кривые штуки, но потом очень быстро (при постоянной практике) уровень начнет серьёзно расти. Главное поначалу не задумываться о практическом применении таких поделок и просто делать то, что вам нравится.
    Сам начал на кодпене заниматься фигней год+ назад. Вначале просто пилил по 1 демке в неделю, чтобы друзьям в пятницу перед обедом показывать, типа "смотрите поцаны, какие штуки новые умею делать!". Тогда же в августе мой первый пен попал в picked pens. Ну а после этого понеслось. Вчера перешагнул отметку в 800 фолловеров (codepen.io/suez). Так же последние 3 месяца работаю исключительно по сарафану с кодпена с нормальным валютным рейтом.
    Ответ написан
    1 комментарий
  • Можно ли научиться быстро разбираться в чужом коде?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    О паттернах потому и спрашивают, потому что надоело разгребать чужой быдлокод.
    Ответ написан
    3 комментария
  • Вопрос фрилансерам. Вам часто скидывали рабочие проекты, под видом неоплачиваемого тестового задания?

    Предложи заказчику, пока будешь верстать, сделать тестовый платеж на 6000-7000р.
    Скажи что хочешь убедится как аккуратно он платит, и какого качества у него рубли.
    Я всегда так делаю.
    Ответ написан
    5 комментариев