python爬虫中文乱码问题

用urllib做一个简单的功能,抓取网页,然后打印,发现中文部分输出异常,全是16进制,如图

后面百度了一下,看了几张帖子,终于找到了解决方法,只需要将结果decode一下就ok,decode的编码根据不同的网站都不一样,一般为utf-8

之后输出结果正常

时间: 2024-12-21 12:06:30

python爬虫中文乱码问题的相关文章

python爬虫中文乱码问题(request方式爬取)

https://blog.csdn.net/guoxinian/article/details/83047746 req = requests.get(url)返回的是类对象 其包括的属性有: req.encoding:返回编码方式 req.text:text返回的是处理过的Unicode型的数据 req.content:content返回的是bytes型的原始数据 content是把内容bytes返回. 而text是decode成Unicode. 如果headers没有charset字符集的化

{转}Python IDLE中文乱码

http://hi.baidu.com/yobin/item/166e3a46537781d3c1a59257 乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了. 解决方法:在控制台打印的地方用一个转码就ok了,打印的时候这么写:print myname.decode('UTF-8').encode('GBK') 比较通用的方法应该是:import

Python解决中文乱码问题

在Python中内部所有编码都是Unicode,Unicode属于中转码,一般来说,是先把乱码转化为中转码,再转化为我 们需要的编码,转换过程为decode -> unicode -> encode. #coding:utf-8 #-*- coding:utf-8 -*- import sys print sys.getdefaultencoding() print '中国' f = open('Hello.txt') data = f.read() f.close() print data.

python MySQLdb中文乱码

Python操作MySQL需要安装Python-MySQL可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,不过又发现了烦人的乱麻问题,最后用了几个办法,解决了! 我用了下面几个措施,保证MySQL的输出没有乱麻:    1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)    2 MySQL数据库charset=utf-8     3 Python连

解决爬虫中文乱码问题

今天群里有个人反映某个网址爬出来的网页源代码出现中文乱码,我研究了半天,终于找到了解决方法. 一开始,我是这样做的: import requests url = 'http://search.51job.com/jobsearch/search_result.php?fromJs=1&jobarea=090200%2C00&funtype=0000&industrytype=00&keyword=python&keywordtype=2&lang=c&

win10下使用vscode调试python输出中文乱码的解决办法

今天在vscode中调试一个python脚本时发现中文乱码了,折腾了好一会儿才找到原因,记录一下. 很简单的一句代码测试一下: # -*- coding: utf-8 -*- print('乱码不?') 文件编码设置的也是utf-8,但是调试就是乱码,网上看大都是说设置PYTHONIOENCODING=UTF8的环境变量,尝试过发现还是不行. 其实问题在于windows下的cmd或者PS终端都是默认GBK编码,VSCODE调试时是调用的cmd的,如果把文件头和编码都改成GBK就不会乱码了,但是考

【python爬虫】windoes的爬虫中文乱码现象,通用转码解决

page = session.get(url="https://www.qidian.com/") page.encoding = page.apparent_encoding page_text =page.text tree = etree.HTML(page_text) 原文地址:https://www.cnblogs.com/wanghong1994/p/12342643.html

python3爬虫中文乱码之请求头‘Accept-Encoding’:br 的问题

当用python3做爬虫的时候,一些网站为了防爬虫会设置一些检查机制,这时我们就需要添加请求头,伪装成浏览器正常访问. header的内容在浏览器的开发者工具中便可看到,将这些信息添加到我们的爬虫代码中即可. 'Accept-Encoding':是浏览器发给服务器,声明浏览器支持的编码类型.一般有gzip,deflate,br 等等. python3中的 requests包中response.text 和 response.content response.content #字节方式的响应体,会

Python beautifulsoup 中文乱码

在爬百度"今日热点事件排行榜"的时候发现打印在控制台的中文全部显示乱码,开始怀疑控制台的原因导致了乱码,后来输出一个中文,发现显示正常. #-*- coding:utf-8 -*- import requests from bs4 import BeautifulSoup res = requests.get("http://top.baidu.com/buzz?b=341&fr=topbuzz_b1&qq-pf-to=pcqq.discussion"