Este repositorio contiene los notebooks del curso en Platzi Curso de Scrapy
scrapy startproject nombre_proyecto
scrapy crawl name_spider
scrapy shell 'url_del_sitio'
scrapy crawl name_spider -o nombre_archivo.csv
Top n tags
scrapy crawl name_spider -a top=5
Pagina: Quotes
scrapy shell 'http://quotes.toscrape.com/'
# Obtener el titulo
response.xpath('//h1/a/text()').get()
# Obtener las citas
response.xpath('//span[@class="text"]/text()').get()
# Obtener el author
response.xpath('//small[@class="author" and @itemprop="author"]/text()').getall()
# Obtener Top Ten tags
response.xpath('//div[contains(@class,"tags-box")]//span[@class="tag-item"]/a[@class="tag"]/text()').getall()
# Boton de siguiente pagina
response.xpath('//ul[@class="pager"]//li[@class="next"]/a/@href').get()
Ejemplo de Shell en Coin Market Cap
scrapy shell 'https://coinmarketcap.com/'
# Obtener el nombre de las criptomendas
response.xpath('//div[@class="sc-16r8icm-0 sc-1teo54s-1 dNOTPP"]/p[@class="sc-1eb5slv-0 iworPT"]/text()').getall()
# Obtener el precio de las criptomonedas
response.xpath('//div[@class="sc-131di3y-0 cLgOOr"]/a[@class="cmc-link"]/text()').getall()
scrapy shell https://www.cia.gov/readingroom/historical-collections
# Obtener los links de los archivos desclasificados
response.xpath('//a[starts-with(@href, "collection") and (parent::h3|parent::h2)]/@href').getall()
# Titulo del archivo desclasificado
response.xpath('//h1[@class="documentFirstHeading"]/text()').get()
# Obtener el contenido del archivo desclasificado
response.xpath('//div[@class="field-item even"]/p[not(@class)]/text()').getall()
# Podemos ejecutar el spider de forma remota por ejemplo desde nuestro BackEnd o linea de comando.
curl -u APIKEY: https://app.scrapinghub.com/api/run.json -d project=PROJECT -d spider=SPIDER
# Obtener los datos de un proceso:
curl -u APIKEY https://storage.scrapinghub.com/items/PROJECT_ID/SPYDER_NUMBER/JOB_NUMBER