scrapy의spider에 매개 변수를 전달하는 몇 가지 방법
첫 번째 방법은 명령줄이crawl로 spider를 제어할 때 -a 옵션을 추가합니다. 예를 들어
scrapy crawl myspider -a category=electronics
import scrapy
class MySpider(scrapy.Spider):
  name = 'myspider'
  def __init__(self, category=None, *args, **kwargs):
    super(MySpider, self).__init__(*args, **kwargs)
    self.start_urls = ['http://www.example.com/categories/%s' % category]
    # ...
두 번째 방법은 scrapyd로spider를 제어할 때schedule로 제어할 수 있다.json 발송-d 옵션은 매개 변수를 추가합니다. 마찬가지로spider의 구조 함수에서 위와 같이 써야 합니다.예:
$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1
def parse_page1(self, response):
  item = MyItem()
  item['main_url'] = response.url
  request = scrapy.Request("http://www.example.com/some_page.html",
               callback=self.parse_page2)
  request.meta['item'] = item
  return request
def parse_page2(self, response):
  item = response.meta['item']
  item['other_url'] = response.url
  return item
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Web Scraping con scrapy y regexcomo solo tenemos un url se la pasamos directamente a scrapy.Request como string y el callback lo dirigimos a nuestro se...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.