Описание тега scrapy

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

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

  • Создан с учетом простоты
  • Нужно только написать правила для извлечения данных с веб-страниц и позволить Scrapy сканировать весь веб-сайт за вас.
  • Разработан с учетом расширяемости и поэтому предоставляет несколько механизмов для подключения нового кода без необходимости касаться ядра фреймворка.
  • Портативный, открытый, 100% Python
  • Написан на 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:

scrapy runspider quotes_spider.py -o quotes.json

икона

https://stackru.com/images/a4973da070a5f818ca10731061527518aa6d62cf.jpg


Интернет-ресурсы: