1. 程式人生 > >Python輸出\u編碼將其轉換成中文

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字典中