我正在使用scrapy来提取一些数据,上次我遇到了regx的问题。错误信息就像这样:
**文件“ProjetVinNicolas3 \ spiders \ nicolas_spider3.py”,第70行,在parse_wine_page中
classement, appelation, couleur = res.select('.//div[@class="pro_col_right"]/div[@class="pro_blk_trans"] div[@class="pro_blk_trans_titre"]/text()').re(r'^(\d\w+\s*Vin)\S\s+(\w+-\w+|\w+)\S\s+(\w+)\s*$')
exceptions.ValueError: need more than 0 values to unpack**
答案 0 :(得分:1)
对.re
的调用返回零长度元组。您不能使用长度不正确的序列对n个变量执行序列分配。
答案 1 :(得分:0)
问题在于:
classement, appelation, couleur = res.select('.//div[@class="pro_col_right"]/div[@class="pro_blk_trans"]/div[@class="pro_blk_trans_titre"]/text()').re(r'^(\d\w+\s*Vin)\S\s+(\w+\-\w+|\w+)\S\s+(\w+)\s*$')
例如,选择返回[u'Lussac-Saint-Emilion, Rouge']
并且它与正则表达式不匹配。请参阅此页http://www.nicolas.com/fr/18_409_9394_chateaubelairmagnum.htm - pro_blk_trans_titre
div的内容不符合您要求的格式。
重新思考正则表达式。