-李华同学- 2023-01-14 08:46 采纳率: 66.7%
浏览 44
已结题

用xpath爬取中文后,保存到txt文档中,中文成了编号,英文不受影响。


import json
from lxml import etree

html = """
网页代码
"""
parse_html = etree.HTML(html)
ls = []
i = 1
while i <= 10:
    index = parse_html.xpath("/html/body/li/div/div[%d]/div[2]/div/div[2]/a/i[1]/text()" % i)
    ls.append(index)
    i += 1
print(ls)

with open('wordcloud.txt', 'w', encoding='utf-8') as f:
    f.write(json.dumps(ls))

# Now read the file back into a Python list object
with open('wordcloud.txt', 'r', encoding='utf-8') as f:
    ls = json.loads(f.read())

这是导入txt的内容
[["\u6813Q\uff08\u6211\u771f\u7684\u4f1a\u8c22\uff09"], ["PUA\uff08CPU/KTV/ICU/PPT\uff09"],
有没有人能帮帮我

  • 写回答

3条回答 默认 最新

  • heart_6662 2023-01-14 09:01
    关注

    望采纳!!!点击回答右侧采纳即可!!!
    这可能是由于爬取到的中文是经过编码的,在保存到txt文档中时需要解码。在保存之前,可以使用Python中的解码函数(如"decode()")将编码的中文解码成正常的中文。

    另外,还需要确保在保存txt文档时使用的编码方式与解码时使用的编码方式相同,否则会导致乱码。

    可以使用open()函数打开txt文档并写入,在写入前可以使用decode()函数解码,在open()函数中使用'w',encoding='utf-8' 或 'gbk' 等编码方式来保证文件正常保存。

    with open('text.txt', 'w',encoding='utf-8') as f:
    content = "爬取到的中文"
    content = content.decode('编码方式')
    f.write(content)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月16日
  • 已采纳回答 1月14日
  • 创建了问题 1月14日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改