-1
현재 악기와 데이터를 추출하는 스파이더를 만들고 있습니다.Scroll CrawlSpider Not Crawling
이 경우 CrawlSpider를 사용하고 있으며이 데이터를 모두 가져 와서 모델 이름별로 mongoDB 문서에 배치해야합니다. 나는 분명히 끝내지 않았으며,이 시점에 이르지 못했습니다.
EDIT : 오류를 수정하여 실행되도록 만들었지 만 이제는 크롤러가 '0'페이지를 크롤링하고 출력하는 CSV 파일에 데이터를 반환하지 않습니다. 문제는 무엇이 될 수 있습니까?
다음# -*- coding: utf-8 -*-
import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import Selector
from scrapy.item import Item
class FenderSpider(CrawlSpider):
name = "fender"
allowed_domains = ["example.org/"]
start_urls = (
'http://www.example.org/fender/?ob=model_asc#results',
)
rules = (
Rule(SgmlLinkExtractor(allow=('item\&pn=*',)), callback='parse_item'),
)
def parse_item(self, response):
item = scrapy.Item()
item['data'] = response.xpath('//span[@class="itemResult"]/text()').extract()
return item
내 항목은 파일입니다 :
여기에 내가 가진 무엇
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class MdbItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
name = 'MdbItem'
Item = scrapy.Field()
# company = scrapy.Field()
# model = scrapy.Field()
# model_name = scrapy.Field()
#instrument_type = scrapy.Field()
# year = scrapy.Field()
# serial = scrapy.Field()
# sku = scrapy.Field()
모든 것이 제대로 작동하지만, 데이터가 추출되지 않습니다. 나는 왜 그런지 이해하지 못한다.
아무도 도와 줄 수 있습니까? 저는 Python과 Scrapy를 배우기 때문에 초보자입니다.
대단히 감사합니다.이 문제가 완전히 수정되었습니다. 그러나 이제는 새로운 크롤러가 크롤링하거나 데이터를 추출하지 않는 것으로 보입니다. (위의 대답에 대한 편집을 무시하십시오. 우발적이며 의견이 될 수 있습니다.) – page
@page이 문제는 별도의 문제이므로 별도의 질문으로 해결해야합니다. 질문을 완전히 수정하지 말았어야합니다. 여기가 어떻게 작동하는지가 아닙니다. – alecxe
오케이, 사과드립니다. 새로운 질문을 만듭니다. – page