在一个网站,我试图刮,每个页面有6个表,并在每个表的图像标签将重复1至5次之间,我想计算多少次图像标 checkout 现在每个表。
这些表格由@data-trap标识;@data-trap = '1',@data-trap = '2',等等。
下面是一个我尝试过但没有成功的例子:
for products in response.xpath('*//tbody//*'):
if products.xpath('tbody [@data-trap = '1']/../@src').get() == '/greyhound-racing/img/icon/star-blue.png':
s += 1
scrapy shell中的错误消息是> SyntaxError:无效语法。也许你忘了一个逗号?
因此,s应该取1到5之间的值,具体取决于表。我哪里做错了?
1条答案
按热度按时间ia2d9nvy1#
罪魁祸首是你在字符串中使用了撇号。请参阅此处:
if products.xpath('tbody [@data-trap = '1']/../@src').get()
因为您只使用
'
,所以1
被排除在外。有两种选择:products.xpath("tbody [@data-trap = '1']/../@src").get() # Quotation marks
products.xpath('tbody [@data-trap = \'1\']/../@src') # Escaping