example python web-crawler scrapy scrapy-spider google-crawlers

python - example - scrapy vs beautifulsoup



Pasando argumentos a process.crawl en Scrapy python (1)

pasar los argumentos de la araña en el método process.crawl :

process.crawl(spider, input=''inputargument'', first=''James'', last=''Bond'')

Me gustaría obtener el mismo resultado que esta línea de comando: rastreo de scrapy linkedin_anonymous -a first = James -a last = Bond -o output.json

Mi guión es el siguiente:

import scrapy from linkedin_anonymous_spider import LinkedInAnonymousSpider from scrapy.crawler import CrawlerProcess from scrapy.utils.project import get_project_settings spider = LinkedInAnonymousSpider(None, "James", "Bond") process = CrawlerProcess(get_project_settings()) process.crawl(spider) ## <-------------- (1) process.start()

Descubrí que process.crawl () en (1) está creando otro LinkedInAnonymousSpider donde el primero y el último son Ninguno (impreso en (2)), si es así, entonces no tiene sentido crear el objeto spider y cómo es posible pasa los argumentos primero y último a process.crawl ()?

linkedin_anonymous:

from logging import INFO import scrapy class LinkedInAnonymousSpider(scrapy.Spider): name = "linkedin_anonymous" allowed_domains = ["linkedin.com"] start_urls = [] base_url = "https://www.linkedin.com/pub/dir/?first=%s&last=%s&search=Search" def __init__(self, input = None, first= None, last=None): self.input = input # source file name self.first = first self.last = last def start_requests(self): print self.first ## <------------- (2) if self.first and self.last: # taking input from command line parameters url = self.base_url % (self.first, self.last) yield self.make_requests_from_url(url) def parse(self, response): . . .