Articles of picante

Pasar el atributo de instancia de scrapy (no la clase) a la tubería

Estoy trabajando con scrapy. Tengo una pipie que comienza con: class DynamicSQLlitePipeline(object): @classmethod def from_crawler(cls, crawler): # Here, you get whatever value was passed through the “table” parameter table = getattr(crawler.spider, “table”) return cls(table) def __init__(self,table): try: db_path = “sqlite:///”+settings.SETTINGS_PATH+”\\data.db” db = dataset.connect(db_path) table_name = table[0:3] # FIRST 3 LETTERS self.my_table = db[table_name] Mi araña […]

Scrapy Cómo verificar si cierta clase existe en un elemento dado

category1 subcatergory1 subcatergory2 category2 subcatergory1 subcatergory2 Estoy haciendo un bucle a través de una ul que contiene 2 tipos de li , una tiene a clase y la otra no. Me pregunto si hay un método existente para verificar si existe a clase en un li dado, en lugar de extraer el valor de la […]

Scrapy múltiples solicitudes y rellenar solo elemento

Necesito realizar 2 solicitudes a diferentes URL y poner esa información en el mismo elemento. He intentado este método, pero el resultado está escrito en diferentes filas. Las devoluciones de llamada devuelve el artículo . He intentado muchos métodos pero ninguno parece funcionar. def parse_companies(self, response): data = json.loads(response.body) if data: item = ThalamusItem() for […]

Proyecto Scrapy con múltiples arañas – Configuraciones personalizadas ignoradas

Escenario : Proyecto de un solo scrapy con múltiples arañas. Configuraciones personalizadas definidas por araña. Problema: Tras la ejecución (es decir, el rastreo de scrapy …), las configuraciones personalizadas de la araña que se está ejecutando están siendo anuladas por las configuraciones personalizadas de otra araña en el mismo proyecto. spider01.py class FirstXmlSpider(XMLFeedSpider): # Spider […]

Cómo agregar atributos a una solicitud en un contrato desechable

El contrato de Scrapy falla si estamos creando una instancia de un Item o ItemLoader con el atributo meta o el objeto Request () pasado desde un método de análisis anterior. Estaba pensando en anular ScrapesContract para preprocesar la solicitud y cargar algunos valores ficticios en request.meta, aunque no estoy seguro de que sea una […]

Scrapy: ¿Es posible pausar Scrapy y reanudar después de x minutos?

Estoy tratando de rastrear un sitio grande. Tienen un sistema de limitación de velocidad en su lugar. ¿Es posible pausar el rechazo durante 10 minutos cuando encuentra una página 403? Sé que puedo establecer un DOWNLOAD_DELAY pero noté que puedo raspar más rápido configurando un pequeño DOWNLOAD_DELAY y luego pausar scrapy por unos minutos cuando […]

Scrapy Crawler solo extrae 19 de 680+ urls

Estoy intentando raspar esta página: https://coinmarketcap.com/currencies/views/all/ En td[2] de todas las filas hay un enlace. Estoy tratando de pedirle a scrapy que vaya a cada enlace en ese td , y raspe las páginas que representa el enlace. A continuación se muestra mi código: nota: otra persona fue increíble al ayudarme a llegar tan lejos […]

Scrapy: ValueError (‘Falta el esquema en la url de solicitud:% s’% self._url)

Estoy tratando de raspar los datos de una página web. La página web es simplemente una lista de 2500 URL. Scrapy busca y va a todas y cada una de las URL y recupera algunos datos … Aqui esta mi codigo class MySpider(CrawlSpider): name = ‘dknews’ start_urls = [‘http://www.example.org/uat-area/scrapy/all-news-listing’] allowed_domains = [‘example.org’] def parse(self, response): […]

Agregar dinámicamente dominios a la lista deny_domains de crawlspider scrapy

Actualmente estoy usando CrawlSpider de scrapy para buscar información específica en una lista de múltiples start_urls. Lo que me gustaría hacer es dejar de raspar un dominio específico de start_url una vez que haya encontrado la información que he buscado, para que no siga golpeando un dominio y, en cambio, solo toque los otros start_urls. […]

¿Cómo evita Scrapy volver a descargar medios descargados recientemente?

Según https://doc.scrapy.org/en/latest/topics/media-pipeline.html , tanto Pipeline de Scrapy’s Files como Images Pipeline “evitan volver a descargar medios descargados recientemente”. Tengo una araña que estoy ejecutando usando un directorio de trabajo ( JOBDIR ) para hacer una pausa y reanudar los rastreos. Inicialmente estaba raspando artículos sin descargar archivos; Más tarde, agregué una tubería de archivos. Sin […]