Scrapy является быстрой высокоуровневой платформой анализа экранных данных и веб-сканирования с открытым исходным кодом, записанной в Python, используемом, чтобы проверить веб-сайты и извлечь структурированные данные из их страниц. Это может использоваться в широком спектре целей, от анализа данных до контроля и автоматизировало тестирование.

Scrapy является быстрой высокоуровневой платформой и , используемой, чтобы проверить веб-сайты и извлечь структурированные данные из их страниц. Это может использоваться в широком спектре целей, от анализа данных до контроля и автоматизировало тестирование. Функции Scrapy включают:

  • Разработанный с простотой в памяти
  • Только должен записать правила извлечь данные из веб-страниц и позволить Scrapy проверить весь веб-сайт для Вас
  • Разработанный с расширяемостью в памяти и таким образом, это обеспечивает несколько механизмов для включения нового кода, не имея необходимость касаться ядра платформы
  • Портативный, с открытым исходным кодом, 100% Python
  • Записанный в и работает на Linux, Windows, Mac и BSD.

история:

Scrapy родился при лондонском веб-агрегировании и компании электронной коммерции Mydeco, где он разрабатывался и сохранялся сотрудниками Mydeco и Insophia (веб-консалтинговая компания, базирующаяся в Монтевидео, Уругвай). Первый общедоступный выпуск был в августе 2008 в соответствии с лицензией BSD с этапом 1,0 выпуска, происходящие в июне 2015. В 2011 Scrapinghub стал новым официальным специалистом по обслуживанию.


Установка Scrapy

мы можем установить Scrapy и его зависимости от PyPI с:

pip install Scrapy 

или устанавливать Scrapy с помощью , работайте:

conda install -c conda-forge scrapy 

пример

Вот код для паука, который очищает известные кавычки с веб-сайта http://quotes.toscrape.com, после разбиения на страницы:

 import scrapy class QuotesSpider(scrapy.Spider): name = 'quotes' start_urls = [ 'http://quotes.toscrape.com/tag/humor/', ] def parse(self, response): for quote in response.css('div.quote'): yield { 'text': quote.css('span.text::text').get(), 'author': quote.xpath('span/small/text()').get(), } next_page = response.css('li.next a::attr("href")').get() if next_page is not None: yield response.follow(next_page, self.parse) 

Поместите это в текстовый файл, назовите его к чему-то как quotes_spider.py и выполните паука с помощью команды runspider:

пестрый runspider quotes_spider.py-o quotes.json

значок

enter image description here


Ресурсы онлайн: