字符串格式-法国口音

时间:2019-03-26 09:41:06

标签: python scrapy web-crawler

我在从Wikipedia抓取一些字符串数据时遇到问题。这是我的代码:

import scrapy
import json

class communes_spider(scrapy.Spider):
    name = "city"
    start_urls = ['https://fr.wikipedia.org/wiki/Liste_des_communes_de_Belgique_par_population']

    def parse(self, response):
        for city in response.css('table.wikitable td a::text').getall():
            if city == '2':
                pass
            elif city == '3':
                pass
            else:        
                yield {
                    'cities': city + ', BE'
                }

问题在于字符串使用法语,某些城市包含“è”或“é”。当我将它们导出到json文件时,像“ Li \ u00e8ge”这样的单词被导出为“Liège”。如何将那些弦变成法语字母?

2 个答案:

答案 0 :(得分:5)

您不需要将它们转换为法语。 他们是一样的。 您可以按照以下步骤在ipython中检查它们

In [1]: l2 = 'Liège'

In [2]: l2
Out[2]: 'Li\xc3\xa8ge'

In [3]: print(l2)
Liège

答案 1 :(得分:1)

字符是文本中最小的组成部分。 'A','B','C'等都是不同的字符。 “È”和“Í”也是如此。字符是抽象的,并且根据您所谈论的语言或上下文而有所不同。 Unicode标准描述了代码点表示字符的方式。 代码点是通常在Base 16中表示的整数值。在标准中,代码点使用符号U+12CA来写,表示具有值0*12ca 4810(十进制)的字符。 Unicode标准包含许多列出字符及其相应代码点的表。

In [14]: a='\xc3\xa8'

In [15]: b='è'

In [16]: if a==b:
   ....:     print(True)
   ....:     
True