Проксирование для Scrapy | OTUS
👋 Канал OTUS в Telegram!
Посты от приглашенных гостей из IT-тусовки, полезные статьи, подборки вакансий от партнеров ➞
Подробнее

Курсы

Программирование
Web-разработчик на Python Разработчик Python Разработчик на Spring Framework Разработчик Golang iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL Разработчик игр на Unity React.js разработчик Архитектура и шаблоны проектирования Fullstack разработчик JavaScript Android-разработчик. Продвинутый курс Разработчик Java Разработчик Node.js Scala-разработчик Backend-разработка на Kotlin Python-разработчик. Базовый курс VOIP инженер Базы данных ReactJS/React Native-разработчик Cloud Solution Architecture CI/CD Интенсив «Оптимизация в Java»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Проксирование для Scrapy

Python_Deep_10.07_SITE.png

Scrapy – прекрасный фреймворк для парсинга данных с сайтов. Правда, сайты не любят, чтобы их данные парсили, ещё и бесплатно. И поэтому банят беспощадно. Но иногда очень хочется спарсить немножко данных. На помощь приходят прокси-сервера для скрейпинга. Например, stormproxies, proxymesh и другие.

Приведу пример одного из способов подключения такого прокси в спайдер.

В settings.py прописываем наш Middleware:

DOWNLOADER_MIDDLEWARES = {
    'myspider.middlewares.MyspiderProxyMiddleware': 100,
}

В middlewares.py прописываем наш класс:

class MyspiderProxyMiddleware(object):
    def process_request(self, request, spider):
        if spider.proxy:
            request.meta['proxy'] = spider.proxy
        if spider.uagent:
            request.headers['User-Agent'] = spider.uagent

А уже в конкретном спайдере прописываем нужное значение прокси и агента:

class MySpider(scrapy.Spider):
    uagent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
    proxy = '83.149.70.159:13011'

Удачного скрейпинга!

Есть вопрос? Напишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Дарим сертификаты на скидку!
Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и участвуйте в Акции ➞