私はスクレイピーでもう少し深く掘り下げようとしていますが、スクレイピングしているもののタイトルしか取得できず、詳細は取得できません。これが私がこれまでに持っているコードです:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from tcgplayer1.items import Tcgplayer1Item
class MySpider(BaseSpider):
name = "tcg"
allowed_domains = ["http://www.tcgplayer.com/"]
start_urls = ["http://store.tcgplayer.com/magic/journey-into-nyx?PageNumber=1"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
titles = hxs.select("//div[@class='magicCard']")
vendor = hxs.select("//tr[@class='vendor']")
items = []
for titles in titles:
item = Tcgplayer1Item()
item ["cardname"] = titles.select("//li[@class='cardName']/a/text()").extract()
item ["price"] = vendor.select("//td[@class='price']/br/text()").extract()
item ["quantity"] = vendor.select("//td[@class='quantity']/td/text()").extract()
items.append(item)
return items
結果を表示するための価格と数量を取得できません。各カードには、それぞれ独自の価格と数量を持つ複数のベンダーがあります。そこに問題があると思います。どんな助けでも大歓迎です。