Описание тега scrapy
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