links = sel.xpath('//i[contains(@title,"置顶")]/following-sibling::a/@href').extract()
Erreur : ValueError : Toutes les chaînes doivent être compatibles XML : Unicode ou ASCII, pas d'octets NULL ni de caractères de contrôle
光阴似箭催人老,日月如移越少年。
Voir l'article : Résoudre le problème du rapport d'erreurs chinois lorsque XPath est utilisé dans Scrapy
Méthode 1 : convertir l'intégralité de l'instruction XPath en Unicode
links = sel.xpath(u'//i[contains(@title,"置顶")]/following-sibling::a/@href').extract()
Méthode 2 : utilisez la variable de titre qui a été convertie en Unicode dans l'instruction XPath
title = u"置顶" links = sel.xpath('//i[contains(@title,"%s")]/following-sibling::a/@href' %(title)).extract()
Méthode 3 : Utiliser directement la syntaxe des variables dans XPath ($符号加变量名)$title, passez simplement le titre du paramètre
$
$title
links = sel.xpath('//i[contains(@title,$title)]/following-sibling::a/@href', title="置顶").extract()
Essayez d'ajouter un u avant toute la chaîne
Voir l'article : Résoudre le problème du rapport d'erreurs chinois lorsque XPath est utilisé dans Scrapy
Solution
Méthode 1 : convertir l'intégralité de l'instruction XPath en Unicode
Méthode 2 : utilisez la variable de titre qui a été convertie en Unicode dans l'instruction XPath
Méthode 3 : Utiliser directement la syntaxe des variables dans XPath (
$
符号加变量名)$title
, passez simplement le titre du paramètreEssayez d'ajouter un u avant toute la chaîne