python - Scrapy utilise XPath pour signaler les erreurs en chinois
大家讲道理
大家讲道理 2017-06-30 09:55:44
0
2
1437

Description du problème

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(2)
学习ing

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

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

links = sel.xpath('//i[contains(@title,$title)]/following-sibling::a/@href', title="置顶").extract()
ringa_lee

Essayez d'ajouter un u avant toute la chaîne

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal