CoderCastrov logo
CoderCastrov
Парсер

Некоторые советы по Scrapy, которые должен знать каждый эксперт по парсингу и программист!

Некоторые советы по Scrapy, которые должен знать каждый эксперт по парсингу и программист!
просмотров
2 мин чтение
#Парсер

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

Несколько полезных советов для мастеров Scrapy

Ваш паук готов и собирает данные, но вы хотите сохранить свои данные в форматированный файл. Как CSV, JSON или XML, вы можете сделать это с помощью простой и волшебной команды.

Вам нужно использовать -o filename.csv с командой сканирования Scrapy, и ваши все собранные данные будут в этом файле.

Используйте:

scrapy crawl somespider -o filename.csv
scrapy crawl somespider -o filename.json
scrapy crawl somespider -o filename.xml

Вот и все.

  1. Изменение User-Agent

Изменение User-Agent - это хорошая практика при парсинге веб-сайтов. Иногда веб-сайты обнаруживают ботов посредством User-Agent. И вы знаете, что по умолчанию User-Agent Scrapy - "Scrapy/VERSION (+https://scrapy.org)"

Таким образом, веб-сайт может легко обнаружить вашего бота.

Вы должны изменить USER_AGENT на странице настроек:

USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"

Или вы можете использовать модуль Python для генерации поддельного User-Agent, и каждый раз он будет отличаться.

pip install fake-useragent

Setting.py

from fake_useragent import UserAgent
USER_AGENT = UserAgent().random

Всего две строки кода могут спасти вашего бота от обнаружения и блокировки!

  1. Отключение правила

Файл robots.txt сообщает поисковым роботам, какие URL-адреса робот может получить доступ на вашем сайте. Он используется в основном для избегания перегрузки вашего сайта запросами; это не механизм для исключения веб-страницы из Google.

Поэтому вы должны отключить функцию ROBOTSTXT_OBEY в настройках Scrapy.

ROBOTSTXT_OBEY = False

И это поможет вам собрать все URL-адреса веб-сайта.

  1. Приостановка и возобновление сканирования

Иногда для больших сайтов желательно приостановить сканирование и иметь возможность возобновить его позже. Scrapy поддерживает эту функциональность из коробки, предоставляя такую ​​возможность.

Вы можете начать сканирование пауков там, где вы закончили в последний раз.

Чтобы завершить паука, используйте: CTRL + C

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

scrapy crawl somespider -s JOBDIR=crawls/somespider-1

Запустите паука, используя указанную выше команду, и когда вам нужно остановить сканирование, просто нажмите: CTRL + C

Позже вы можете возобновить сканирование с помощью той же команды:

scrapy crawl somespider -s JOBDIR=crawls/somespider-1

Если вы хотите узнать подробнее о заданиях Scrapy, вы можете посетить официальную документацию здесь.

Вот и все. Надеюсь, эти советы будут полезны для вас и помогут вам сделать лучший парсинг. Дайте мне знать в комментариях.