Python输出\u编码将其转换成中文

爬取了下小猪短租的网站出租房信息但是输出的时候是这种:

这里写图片描述

百度了下。python2.7在window上的编码确实是个坑
解决如下
如果是个字典的话要先将其转成字符串 导入json库
然后 这么输出(json.dumps(data).decode("unicode-escape"))

整个代码demo

# -*- coding: UTF-8 -*-
#小猪短租爬取
import requests
from bs4 import BeautifulSoup
import json
def get_xinxi(i):
    url = 'http://cd.xiaozhu.com/search-duanzufang-p%d-0/' %i
    html = requests.get(url)
    soup = BeautifulSoup(html.content)
    #获取地址
    dizhis=soup.select(' div > a > span')
    #获取价格
    prices = soup.select(' span.result_price')
    #获取简单信息
    ems = soup.select(' div > em')
    datas =[]
    for dizhi,price,em in zip(dizhis,prices,ems):
        data={
            '价格':price.get_text(),
            '信息':em.get_text().replace('\n','').replace(' ',''),
            '地址':dizhi.get_text()
        }
        print(json.dumps(data).decode("unicode-escape"))
i=1
while(i<12):
    get_xinxi(i)
    i=i+1

爬取了12页的信息
这里写图片描述

小结:
压注意的是
创建soup

 soup = BeautifulSoup(html.content)

多个值的for赋值

   for dizhi,price,em in zip(dizhis,prices,ems):

字典的输出编码问题

json.dumps(data).decode("unicode-escape")

如果想获取每个个详细信息可以获取其href属性值

#page_list > ul > li:nth-of-type(1) > a

然后获取其属性值get(‘href’)获取每个的详情信息在解析页面获取想要的信息加在data字典中

### 回答1: 可以使用Python内置的decode()函数将Unicode编码转换成汉字。例如,如果要将Unicode编码为"\u4e2d\u6587"转换成汉字,可以使用以下代码: unicode_str = "\u4e2d\u6587" chinese_str = unicode_str.encode('utf-8').decode('unicode_escape') print(chinese_str) 输出结果为:"中文"。 ### 回答2: 在Python中,我们可以使用`chr()`函数将Unicode编码转换为汉字。 Unicode是一种标准化的字符集,它为世界上几乎所有的字符定义了独一无二的数值编码。而汉字是Unicode字符集中的一部分。 要将Unicode编码转换为汉字,可以使用以下代码: ```python unicode_code = 27721 # 要转换的Unicode编码 hanzi = chr(unicode_code) # 使用chr()函数将Unicode编码转换为汉字 print(hanzi) # 输出转换后的汉字 ``` 在上面的代码中,`unicode_code`是要转换的Unicode编码,可以根据需要更改此值。`chr()`函数用于将Unicode编码转换为对应的字符。 当我们运行上述代码时,将输出转换后的汉字。 需要注意的是,转换的前提是指定的Unicode编码对应于汉字字符。在Unicode中,汉字字符的编码范围是0x4E00到0x9FFF,您可以根据需要更改`unicode_code`变量的值来指定不同的汉字编码。 另外,还可以使用`ord()`函数将汉字转换为Unicode编码。使用方法与`chr()`函数相反。具体代码如下: ```python hanzi = '你' # 要转换的汉字 unicode_code = ord(hanzi) # 使用ord()函数将汉字转换为Unicode编码 print(unicode_code) # 输出转换后的Unicode编码 ``` 以上就是使用Python将Unicode编码转换为汉字的方法。 ### 回答3: 在Python中将Unicode编码转换为汉字可以使用`chr()`函数。`chr()`函数将Unicode编码作为参数,返回对应的字符。使用以下步骤将Unicode编码转换为汉字。 首先,确定Unicode编码的值。例如,要将Unicode编码`U+6C49`转换为汉字。 ```python unicode_code = 0x6C49 ``` 然后,使用`chr()`函数将Unicode编码转换为对应的字符。 ```python chinese_character = chr(unicode_code) ``` 最后,打印输出转换后的汉字。 ```python print(chinese_character) ``` 运行代码后,将输出转换后的汉字。 完整的代码示例: ```python unicode_code = 0x6C49 chinese_character = chr(unicode_code) print(chinese_character) ``` 以上代码将输出`汉`,即Unicode编码`U+6C49`对应的汉字。 需要注意的是,Python默认使用的是UTF-8编码,因此在处理Unicode编码时,确保当前环境的编码设置正确。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值