Une partie du nom de la classe est chargée de manière dynamique (ICO-partily-nuageux) .. J'essaie d'obtenir cette pièce uniquement Source HTML
response.xpath('//html[1]/body[1]/div[1]/div[1]/div[3]/div[2]/div[1]/div[1]/@class=forcast-icon').extract()
3 Réponses :
Cela le fera:
response.xpath('//html[1]/body[1]/div[1]/div[1]/div[3]/div[2]/div[1]/div[1]/@class').extract_first().split('forecast-icon ')[1]
Pour une option plus simple en utilisant Just XPath, changez votre expression XPath vers:
//div[@data-ng-class][contains(@class,"forecast-icon")]/substring-after(@class,"forecast-icon ")
chose que vous pouvez le faire avec CSS comme celui-ci maintenant je ne sais pas comment vous obtenez la sélection HTE P> p>
S'il est chargé de manière dynamique, vous ne pouvez pas l'obtenir via Scrapy XPath. Essayez des outils tels que le sélénium ou les éclaboussures.