完全な初心者で、csv から URL のリストを読み取って csv 内のアイテムを返すためにスクレイピーを取得しようとしています。ここでどこが間違っているのかを理解するのに助けが必要です:スパイダーコード:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
import random
class incyspider(BaseSpider):
name = "incyspider"
def __init__(self):
super(incyspider, self).__init__()
domain_name = "incyspider.co.uk"
f = open("urls.csv")
start_urls = [url.strip() for url in f.readlines()]
f.close
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//div[@class="Product"]')
items = []
for site in sites:
item['title'] = hxs.select('//div[@class="Name"]/node()').extract()
item['hlink'] = hxs.select('//div[@class="Price"]/node()').extract()
item['price'] = hxs.select('//div[@class="Codes"]/node()').extract()
items.append(item)
return items
SPIDER = incyspider()
items.py コードは次のとおりです。
from scrapy.item import Item, Field
class incyspider(Item):
# define the fields for your item here like:
# name = Field()
title = Field()
hlink = Field()
price = Field()
pass
実行するには、使用しています
scrapy crawl incyspider -o items.csv -t csv
ポインタをいただければ幸いです。