recherche

Maison  >  Questions et réponses  >  le corps du texte

python - Scrapy utilise XPath pour signaler les erreurs en chinois

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

大家讲道理大家讲道理2711 Il y a quelques jours1432

répondre à tous(2)je répondrai

  • 学习ing

    学习ing2017-06-30 09:57:44

    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()

    répondre
    0
  • ringa_lee

    ringa_lee2017-06-30 09:57:44

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

    répondre
    0
  • Annulerrépondre