Рубрики
Без рубрики

Автокрепис и колба: создайте API с любого сайта менее чем за 5 минут

В этом руководстве мы собираемся создать нашу собственную электронную коммерцию поиска API с поддержкой как eBay, так и … Теги с Python, WebDev, начинающими, учебниками.

В этом руководстве мы собираемся создавать собственные собственные API поиска электронной коммерции с поддержкой как eBay, так и Etsy без использования внешних API. С силой Автокрепка и Колбы Мы можем достичь этой цели менее чем на 20 строк кода Python для каждого сайта. Я рекомендую прочитать мой последний Статья Об автокресле, если вы еще этого не сделали.

Установите необходимые библиотеки, используя PIP:

pip install -U autoscraper flask

Во-первых, мы собираемся создать умный скребок, чтобы получить данные с страницы результатов поиска eBay. Допустим, мы хотим получить заглавие , Цена и Ссылка на продукт каждого предмета. Использование автокреплята, это было бы легко сделать только путем предоставления некоторых примеров данных:

Обратите внимание, что если вы хотите скопировать и запустить этот код, вам может потребоваться обновить Welse_List Отказ

Теперь давайте получим результаты, сгруппированные путем соскоба правил:

scraper.get_result_similar(url, grouped=True)

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

Обратите внимание, что идентификаторы правила будут отличаться для вас, если вы запустите код.

Хорошо, у нас покрыто eBay. Давайте добавим поддержку для результатов поиска Etsy тоже. Мы начнем с создания его скребка. На этот раз мы будем использовать Welse_dict вместо того Trese_List. . Он автоматически устанавливает псевдонимы для нас:

Поскольку ссылки генерируются с уникальным идентификатором в Etsy каждый раз, мы добавили один образец ID продукта для Welse_dict Таким образом, мы можем создать ссылку от нее. Кроме того, мы предоставили два образца для заголовка и цен, так как структура предметов на страницах результатов поиска ETSY отличается, и мы хотим, чтобы скребок изучил их все.

После анализа вывода давайте сохраним наши желаемые правила, удалите остальные и сохраните нашу модель:

Теперь, когда у нас есть наши скребки готовы, мы можем создать наши полнофункциональные API для обоих сайтов менее 40 строк:

Здесь мы определяем API с параметром Q как наш поисковый запрос. Мы получим и присоединимся к результатам поиска Ebay и Etsy и вернем их в качестве ответа. Обратите внимание, что мы проезжаем group_by_alias = true. к скребуру, чтобы получить результаты, сгруппированные нашими определенными псевдонимами.

Запустив этот код, сервер API будет прослушиваться по порту 8080. Итак, давайте проверим нашу API, открыв http://localhost: 8080/? q = наушники В нашем браузере:

Некоторые результаты из eBay

Некоторые результаты от Etsy

Вуаля! У нас есть наша электронная коммерция API готова. Просто заменить Наушники В URL с желаемым запросом, чтобы получить результаты поиска.

Окончательный код для этого учебника доступен на Github Отказ

Это разработка настроек, подходящая для разработки и тестирования. Встроенный сервер колбы не подходит для производства. Для использования производства, пожалуйста, проверьте Варианты развертывания колба Отказ

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

Я надеюсь, что эта статья полезна и помогает довести свои идеи в код быстрее, чем когда-либо. Счастливое кодирование!

Оригинал: “https://dev.to/alirezamika/autoscraper-and-flask-create-an-api-from-any-website-in-less-than-5-minutes-400j”