JRazor
@JRazor
Senior StarkOverFlow Programmer

Вопрос опытным Python'щикам и Scrapy'рам?

Здравствуйте. Возникла проблема непонимания Scrapy. Раньше писал парсеры на lxml и ему подобных, но теперь решил попробовать асинхронный Scrapy. Возникли вопросы, на которые ответа я не могу найти, потому что, видимо, не понимаю технологии:

1) Мне нужно распарсить сайт сначала на категории, потом каждую категорию на подкатегорию, а потом еще и распарсить данные подкатегории. В связи с этим назревает вопрос - как это дело обычно оформляют в Scrapy? Все заталкивают в одного паука или вызывают паука из паука?

2) Заметил практику заталкивания всего Scrapy кода в один файл. Достаточно практично. По идее, это никак не должно влиять на работоспособность. Это так?

3) Scrapy работает достаточно медленно. Есть ли на нем настройки, ускоряющие процесс парсинга?

Заранее очень благодарен.
  • Вопрос задан
  • 4201 просмотр
Решения вопроса 1
Используйте GRAb.
Вопросы какие-то странные у Вас. Все зависит от структуры сайта который парсите.

Поведение вашего паука зависит только от того куда вы сами его направите.
В вашем примере нужно написать всего 3 таска:
1. Парсим категории
2. Парсим категорию на подкатегории
3. Парсим данные подкатегории.
Почему это удобно в 1 файл? Да потому что все это взаимосвязано.
Запускаем паука, он запускает таск1 и передает категории в таск2.
Таск2 парсит подкатегории и передает в таск3.

По поводу скорости, тут все зависит только от сайта который парсите. Мой паук в 200 потоков легко спарсил 5млн страниц менее чем за час.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
smile_desu
@smile_desu
Кстати у меня возник такой вопрос. А как можно делать запросы на встроенный поисковик в самом сайте. При запросе например азб, выдается список где присутствуют более близкие варианты с этим наименованием но ограниченно только 50 позиций. Как настроить запросы на этот поисковик чтобы прошелестить всю базу. Так же проблема в том что в браузере при вводе запроса внутренний поисковик ищет запрос примерно 2-5 сек.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы