pyhon爬虫中文乱码

pyhon爬虫中文乱码

爬到的网页,在调试模式看着是中文,用输出看也是中文,但是存入变量就编码格式不对了。

问题出现的环境背景及自己尝试过哪些方法

下面是源码

python">#coding: utf-8

import requests

import json

from bs4 import BeautifulSoup

 

url = 'https://www.3ajiepai.com/forum-190-1.html'

strhtml = requests.get(url)

# 由于目标是gbk,接受到的是乱码,所以这里需要转换编码格式

strhtml.encoding = 'gb18030'

soup = BeautifulSoup(strhtml.content, "html.parser")

print soup.original_encoding

print soup.title

data = soup.select('#waterfall li')

 

list = []

for item in data:

    imgs = item.find('img')

    name = item.select(".xw0 a")[0]

    author = item.select(".auth.cl .a_name a")[0]

    names = name.text.encode("utf8")

    result = {

        "name": names,

    }

    print (result)

    list.append(result)

print (list)

 

# 写入本地文件

test_dict = { 'start': list}

json_str = json.dumps(test_dict)

new_dict = json.loads(json_str)

with open('data.json', 'w') as f:

    json.dump(new_dict, f)

    print("写入文件完毕。。。")

下图是调试模式图片
pyhon爬虫中文乱码

下图是控制输出图片
pyhon爬虫中文乱码

下图是生成文件图片
pyhon爬虫中文乱码

求大神帮忙解决中文编码乱码问题,不胜感激。


回答:

不知道你为什么要把name encode?
直接names = name.text不就行了


回答:

python3的话,直接name.text是正常的,不用encode了

pyhon爬虫中文乱码

文件也是正常的

pyhon爬虫中文乱码


回答:

试试json.dumps()

以上是 pyhon爬虫中文乱码 的全部内容, 来源链接: utcz.com/a/165299.html

回到顶部