我试图从一个网站刮数据使用scrapy。这是css路径
<div _ngcontent-amb-c25="" appcoloredmultiplier="" class="bubble-multiplier font-weight-bold" style="padding: 2px 11px; border-radius: 11px; color: rgb(52, 180, 255);"> 1.21x </div>
但是我想提取标签之间的数据,这是1.21x,我如何更新我的代码来提取我所说的数据。
def parse(self, response):
# Extract game history data from the webpage
game_history_elements = response.css('div.bubble-multiplier')
# Extract the multiplier value from each game history element
game_history = [re.search(r'(\d+\.\d+)x', element.css('::text').get()).group(1) for element in game_history_elements]
# Print the game history data
print(game_history)
2条答案
按热度按时间jtjikinw1#
正如在注解中提到的,您可以使用xpath表达式中的
::text
css指令获取标记之间的文本,然后在选择器上应用get
或getall
方法。如果类
bubble-multiplier
中有多个div
,并且您需要每个div
的文本,则可以使用getall()
,另一方面,如果只有一个匹配元素,或者您只需要第一个,则可以使用getall()
。或
当只有一个匹配时,仍然可以使用
getall
,唯一的区别是返回值将是一个list
,只有一个字符串作为内容。e5nqia272#
试试这个