Python 在Scrapy中使用字体或颜色刮取网站

Python 在Scrapy中使用字体或颜色刮取网站,python,scrapy,splash-screen,scrapy-splash,Python,Scrapy,Splash Screen,Scrapy Splash,我需要从网站上刮取价格,我遇到了一个问题,某些价格被划掉,新的价格以红色/粗体字母显示,html代码与该代码不同,因此我的价格为空。所以我决定做一个if语句来获得正确的数据,但唯一的问题是,划掉的价格具有相同的标识符,所以我得到的是该价格,而不是红色的价格。那么,在Scrapy中有没有办法根据红色或粗体字体来降低我需要的价格呢?如果没有的话,有没有其他方法让我得到正确的价格 可以使用样式属性对其进行过滤 response.css('span[style^="color:red;"]::text

我需要从网站上刮取价格,我遇到了一个问题,某些价格被划掉,新的价格以红色/粗体字母显示,html代码与该代码不同,因此我的价格为空。所以我决定做一个if语句来获得正确的数据,但唯一的问题是,划掉的价格具有相同的标识符,所以我得到的是该价格,而不是红色的价格。那么,在Scrapy中有没有办法根据红色或粗体字体来降低我需要的价格呢?如果没有的话,有没有其他方法让我得到正确的价格


可以使用样式属性对其进行过滤

response.css('span[style^="color:red;"]::text').get()

可以使用样式属性对其进行过滤

response.css('span[style^="color:red;"]::text').get()

您需要调整您的表达式:

if item["Price"] == None:
    item["Price"] = game.css("td[class^=deckdbbody].search_results_9 span[style*='color:red']::text").get()

您需要调整您的表达式:

if item["Price"] == None:
    item["Price"] = game.css("td[class^=deckdbbody].search_results_9 span[style*='color:red']::text").get()