我正在尝试从this website刮下这些物品.
项目包括:品牌,型号和价格.由于页面结构的复杂性,Spider正在使用2个xpath选择器.
品牌和型号项目来自一个xpath,价格来自另一个xpath.我使用@ har07建议的(|)运算符.对每个项目的Xpath都进行了单独测试,它们正在工作并正确提取所需的项目.但是,在加入2个xpath之后,价格项目在输出到csv时开始解析其他项目,例如逗号和价格与品牌/型号项目不匹配.
这是蜘蛛的解析片段的外观:
def parse(self, response):
sel = Selector(response)
titles = sel.xpath('//table[@border="0"]//td[@class="compact"] | //table[@border="0"]//td[@class="cl-price-cont"]//span[4]')
items = []
for t in titles:
item = AltaItem()
item["brand"] = t.xpath('div[@class="cl-prod-name"]/a/text()').re('^([\w\-]+)')
item["model"] = t.xpath('div[@class="cl-prod-name"]/a/text()').re('\s+(.*)$')
item["price"] = t.xpath('te