Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème d'encodage de texte "scrapé" avec BeautifulSoup

caractères du genre : ’

    15 février 2011 à 21:15:20

    Bonsoir,

    Je voudrais savoir s'il y a moyen de convertir des caractères de ce genre là : ’ …
    Sachant que j'utilise Beautifulsoup comme parser.

    Je débute en Python, allez-y en douceur :)

    Je reste disponible pour plus de clarification si besoin s'impose,

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      15 février 2011 à 22:25:59

      Bonjour,

      Je pense que ceci devrait répondre à ta question ? ;)

      Note: le lien est sensé t'envoyer vers la partie de la doc qui t'interessera. Sinon, au menu, tu clique sur Entity Convertion.
      • Partager sur Facebook
      • Partager sur Twitter
        16 février 2011 à 14:05:58

        Merci LeYan'tibus, j'avais déjà visité la documentation, mais je n'ai jamais fait attention à cette partie là.

        Sinon celà ne résoud toujours pas mon problème :-°

        Voilà ce que j'ai testé sur ma console

        >>> t = alchemy.URLGetText("http://atwar.blogs.nytimes.com/2011/02/04/a-year-at-war-updates-on-soldiers/")
        """voici un petit extrait de ce que contient la variable :
        <gras>.... Year at War, our series about a battalion&#x2019;s year ....</gras>
        """
        >>> BeautifulSoup.BeautifulStoneSoup(t, convertEntities=BeautifulSoup.BeautifulStoneSoup.XML_ENTITIES, smartQuotesTo="xml").find('text').contents[0]
        


        Cette dernière ligne de code me retourne toujours le &#x2019; dans le texte :(

        ........Year at War, our series about a battalion&#x2019;s year .....


        J'ai beau essayé avec la classe BeautifulSoup et BeautifulStoneSoup
        utilier les constantes XML_ENTITES, HTML_ENTITIES et ALL_ENTITIES pour l'option converEntities ainsi que xml et html pour smartQuotesTo

        EDIT


        Je suis arrivé à convertir le &#x2019; grâce à une expression régulière en \u2019

        Comment pourrais-je convertir ça en un 'vrai' caractère?

        P.S : maintenant que la question a changé, pensez-vous que je devrais créer un nouveau sujet?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          17 février 2011 à 20:17:03

          Non, tu n'est pas obligé de créer un autre sujet, à moins que celui-ci ne tombe au fin fond du forum...

          Sinon, je ne sais pas ce qu'il en est avec Python 2.x mais avec le 3:

          >>> '\u2019'
          '’'
          

          • Partager sur Facebook
          • Partager sur Twitter
            18 février 2011 à 19:04:03

            Pour pouvoir l'afficher comme toi tu l'as fait je dois faire
            >>> print u'\u2019'
            ’
            


            ça ne marche pas sans le u ET le print.
            • Partager sur Facebook
            • Partager sur Twitter

            Problème d'encodage de texte "scrapé" avec BeautifulSoup

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown