python3 爬网络小说 编码gbk,utf-8均报错

很简单的爬取一个小说,但是编码遇到报错,gbk,utf-8都不行。

-*- coding: utf-8 -*-

import urllib.request
import re
import sys
import os
import urllib
from bs4 import BeautifulSoup
from urllib import request

#根据给定的网址来获取网页详细信息,得到的html就是网页的源代码

def getHtml(weburl):
webheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'}
webheaders={
'Referer':'http://www.biqukan.cc/book/20461/12592815.html',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0'
}
req = urllib.request.Request(url=weburl, headers=webheaders)
page = urllib.request.urlopen(req)
html = page.read()

return html.decode('gbk')

def gettext(html):
soup = BeautifulSoup(html, "lxml")

content = soup.find(class_='panel-body',id='htmlContent')
txt=content.get_text()

with open('D:\\test.txt','a') as f:
    f.write(txt)

weburl="http://www.biqukan.cc/book/20461/12592815.html"
html=getHtml(weburl)#获取该网址网页详细信息,得到的html就是网页的源代码
gettext(html)
错误信息:
UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 75: il
legal multibyte sequence

还有:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 116: invali
d start byte

0

2个回答

用requests模块decode("gbk")没有乱码

import requests
url = "http://www.biqukan.cc/book/20461/12592815.html"
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.15 Safari/537.36',
    }
html=requests.get(url=url,headers=headers,verify=False).content.decode("gbk")
print(html)

0

谢谢,我的解决办法是把不能decode的 0xb5用空格替换掉了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python爬虫遇到的问题(一)---关于utf-8,gbk
Python爬虫遇到的问题(一)—关于utf-8,gbkn遇到的问题n最初,在爬取浙江工商大学信息网时,使用了以下代码:nfrom bs4 import BeautifulSoupnimport urllib.requestnndef get_html(url):n page = urllib.request.urlopen(url) n htmlcode = page.read() ...
Python第三方库安装时编码问题utf-8变gbk
pip Python第三方库安装 编码错误
python3的url编码和解码,自定义gbk、utf-8
因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见!# coding:utf-8nimport urllib.parsennnclass Urlchuli():n """Url处理类,需要传入两个实参:Urlchuli('实参','编码类型'),默认utf-8 n url编码方法:url_bm() url解码方法:url_jm()"""nn ...
python3爬虫的编码问题
from urllib.request import urlopenrntextPage = urlopen("https://fengshenfeilian.github.io/")rnprint(textPage.read())rn在非纯英文网页上爬取数据时,总是会出现各种意想不到的乱码。rn比如上文的代码运行结果含有中文,且所有中文都被替换成乱码。rn这个问题是因为python默认的把文本读
python3爬虫编码问题
使用爬虫爬取网页经常遇到各种编码问题,因此产生乱码nn今天折腾了一天,全部总结一遍nn环境:win10,pycharm,python3.4n1.首先先来网页编码是utf-8的:n以百度首页为例:n使用requests库nnnimport requestsnnurl="http://www.baidu.com"nresponse = requests.get(url)ncontent = respo...
吐血总结,彻底明白 python3 编码原理
nn nn关于编码的历史演变,utf-8是如何一步步发展来的,windows为啥依旧保持gbk的编码。。。n等等这些问题,网上一搜一大堆,大部分都是转发、分享后的雷同内容,依旧解决不了我内心的疑惑。。。n编码是个蛋疼的事情,倘若不弄清楚, 怎么在中国混?n经过自己查阅多方文档、多次深入实验,我树立了对编码的基本世界观。                                        ...
Python 处理GBK编码转UTF-8读写乱码问题
今日写了个爬虫,爬取前程无忧的招聘信息rn老套路,首先获取网页源代码rn#-*- coding:utf-8 -*-nimport requestsnnurl = 'http://search.51job.com/jobsearch/search_result.php?'nnpage_req = requests.get(url)npage = page_req.text.encode('utf-8
python3 web.py模块中使用template出错 无法打开utf-8编码的文件
在github看到解决方案  整理一下nn找到template.py文件 :默认在当前环境的Lib\site-packages\web下面  然后随便用一个编辑器打开 我这是pychrmnnctrl+f 查找open  查找到六个nnnn然后依次添加encoding=utf-8  保存关闭nnnn nn总结:  总的来说 还是以前经常遇到的问题,但是只是这个问题出现在别人写好的模块中,只能自己改了...
数据爬取 -- 编码(UTF-8 to GBK)
昨日从某点评网爬取数据rn网页编码为 UTF-8, 本地的系统默认编码为 GBKrnrn直接使用 BufferReader 读取 HttpURLConnection 打开的 stream,会导致乱码rn使用 DataInputStream 的 readUTF 也引起乱码rnrn最后使用如下代码,得到正确的文本,如下:rnrnrnBufferedReader dis;rnrnString conte...
用python将GBK编码文件转为UTF-8编码文件
有的时候我们有一些网页的项目,需要用到JavaScript读取一些文本文件,用以读取数据;但各种文本文件的编码方式不尽相同,特别是带有中文字符的文件,为GBK编码,一般加载后都会出现乱码情况,故需要在加载之前将文件的编码形式转为国际兼容的编码方式UTF-8。乱码也是一个很烦的问题,博主苦寻良久,在GITHUB上终于找到相关的转换程序,这个python程序对单个文件或者整个文件夹下的文件进行批量转码...
Python编码UNICODE GBK UTF-8字符集转换的正确姿势
规范n脚本文件编码 n由于需要经常性使用到中文字符,因此Python脚本新建后,请在头部添加代码:n# coding: utf-8或者为pycharm设置代码模版,这样每次新建Python文件时会自动带上以上代码。如果不添加,即使字符串以u开头,也是编译不通过的。UNICODEn脚本中的字符最好使用UNICODE编码(英文可以不需要,但是中文尽量使用),因为UNICODE编码是比较好的“中间”字符集
python3爬虫爬网络小说(斗破苍穹为例)
python3.6爬虫,爬取网络小说,《斗破苍穹》,输出txt
python urllib爬取网页编码问题
利用python urllib库爬取网页,有时获得的网页打印或写文件遇到编码问题,找了许久终于知道为什么了。rn首先利用urlopen()函数获取网页对象,再利用info()函数打印网页的相关信息,确定网页的编码及是否压缩。rnrnimport urllib.requestnnfp = urllib.request.urlopen('http://www.sina.com')nmybytes =
关于python3,numpy-loadtxt的编码问题
data_array = np.loadtxt(filename,      #文件名rn                            delimiter=',', #分隔符rn                            skiprows=1,    #跳过第一行rn                            dtype=bytes,     #数据类型rn   
golang 爬虫解决gbk编码转UTF-8
在用golang编写爬虫程序时,会碰见编码格式gb2312的页面。nn网页页面上可以看出该页面字符编码为gb2312nn<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />nn而golang默认是支持UTF-8编码格式的,这样直接爬下来的结果会乱码。nn使用 github.com/axgle/mah...
Python——爬取网页输出编码的解决办法
Python爬取网页输出编码的解决办法@牌神nPython爬取网页输出编码的解决办法\n学习requests方法时发现输出的文本都是乱码,于是乎百度了一番,找到了其中的奥妙nimport requests,pprintnnurl='https://www.baidu.com'nrq=requests.get(url)nprint(rq.text)nnprint出的汉字都是乱码n查看下rq的编码np...
python3暴力删除html中gbk不可编码字符
苦逼大学僧的日常。。。狗真是日了我了…… nUnicodeEncodeError: ‘gbk’ codec can’t encode character u’\ufeff’ in position 0: illegal multibyte sequence n写个爬虫被这东西折磨了一天。。。不光BOM的feff,还有各种解码不出来的字符,啥玩意都有。。 n各种二分找位置(他提示的位置是不准的),看是
python中关于unicode,utf-8,gbk等编码的联系与区别笔记
1.基本概念nn(1)字符和字节是两个不同的术语,在unicode中一个字符就是两个字节,如’人’一个字符占两个字节。对于python中len()函数,len(u’中国’)和len(‘hi’)一样长度值都为2,这里长度是指字符长度nn(2)ASCII码跟Unicode没有本质的区别。只不过Unicode表示范围比ASCII大nn(3)在简体中文Windows操作系统中,ANSI 编码代表 GBK ...
GBK编码数据转码为UTF-8格式
#include rnrn#include rnrnrnint CFileListModel::GBKToUTF8(unsigned char * lpGBKStr,unsigned char * lpUTF8Str,int nUTF8StrLen)rnrn{rn wchar_t * lpUnicodeStr = NULL;rn int nRetLen = 0;rnrn if(!
关于Python 3.x爬虫爬取某些网站资源时,碰到UnicodeDecodeError: 'utf-8' codec can‘t......的解决办法
关于Python 3.x爬虫爬取某些网站资源时,碰到UnicodeDecodeError: 'utf-8' codec can‘t......的解决办法nn本文简要概述:爬虫小程序本身很简单,就是爬取一个指定网站上的资源(本文中是图片)。但是对于某些Python小小白来说,可能会遇到某些奇奇怪怪的自己解决不了的问题。所以我决定针对一系列的“坑”写点东西。此文为其一。nn nn代码如下:nnnimp...
python open文件编码出错问题
pythonrn 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xb7 in position 1356: illegal multibyte sequencernrnrn解决办法1(转码)rnfile = open("station.txt",'r',encoding='utf-8')rnrnrnrn解决方法2(二进制方式)r
Python爬虫爬取GBK网页
# -*- coding: utf-8 -*-nimport requestsnimport renfrom bs4 import BeautifulSoupndef getHtml(url):n req = requests.get(url)n req.encoding = "gbk"n return req.contentndef getcityhtml(html):
Python for Windows 中文编码问题汇总
0. 关于python编码的基本常识n1. 设置.py文件的编码格式n2. 字符串文字量的类型n3. 关于print输出中文字符串n4. Windows的文件/文件夹的中文名字n5. Windows读写文件内容n6. 爬虫结果的存储n7. 日语假名和日语汉字n8. 其他
通过Maven编译工程时 编码 GBK 的不可映射字符 错误
通过Maven2来编译工程,Java文件中出现中文,则报错:rn编码 GBK 的不可映射字符,这是由于m2默认是用GBK格式的。rn解决方案:在pom.xml文件的根节点下添加rn[code="xml"]rnrn ...rn rn UTF-8rn ...rn rn ...rnrnrn[/code]rnrn在M3中,可以这样配置:rn[code="xml"]rnrn ...rn...
gbk 转 utf-8 的python示例代码
gbk 转 utf-8 的python示例代码。 有时候下的电子书,到Linux上看有时候是乱码。写了个python脚本转一下。
Python 设置系统默认编码(常见问题汇总)
——本文基于python2.7版本rn在用python处理txt文本时,若遇到txt文档中有中文字符的情况,会发现文档读取出来的情况是一堆乱码。这是因为python2.7默认的编码形式为ASCII。为了方便处理含中文内容的txt文档,此处需要先修改系统默认编码为utf-8,这样就可以省掉后续encode(‘utf-8’)的手续(而且这种属性的使用并不方便。比如在list元素中就没有这一属性)。rn
常见编码GBK、GB2312、UTF-8、ISO-8859-1的区别
在项目开发中,会经常遇到不同的编码方式。不管什么编码,都是信息在计算机中的一种表现,理解常见的编码方式,有助于我们避免出现乱码等现象。 n最初的计算机字符编码是通过ASCII来编码的,是现今最通用的单字节编码系统,使用7位二进制数来表示所有的字母、数字、标点符号及一些特殊控制字符,作为美国编码标准来使用。ISO-8859-1编码是单字节编码,向下兼容ASCII,是许多欧洲国家使用的编码标准。其编码范
jenkins构建时提示编码GBK的不可映射字符
jenkins构建时提示编码GBK的不可映射字符解决方式:在pom.xml中添加maven编码格式 <properties>n <!-- 文件拷贝时的编码 -->n <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>n <project.reporting....
项目编码修改, GBK 变UTF-8 , 全格式转UTF-8, 编码转utf-8
详情请参见http://blog.csdn.net/u013017597/article/details/17308989 请使用这款软件,直接将代码转换为UTF-8 注意: 1、xml不需要转换,因为xml默认是utf-8,在你新建的时候已经是正确的格式了 2、图片更不需要转换 3、bin目录,gen目录的直接忽略 4.只需要src目录的代码转换,请确保里面的代码都是同一种格式,这样的才可以转换 附上地址 里面包含了经过反复筛选和实践确定为最好用的代码转换工具,一键转换,不管有多少代码 如果你不放心的话,请转换前备份代码
python3 中文乱码与默认编码格式设定
python默认编码格式是utf-8。在python2.7中,可以通过sys.setdefaultencoding('gbk')设定默认编码格式,而在python3.3中sys.setdefaultencoding()这个函数已经没有了。在python3.3中该如何设置内置的默认编码格式啊!急求!!!rnrn(类似于“#coding:gbk”这种就不必来说了。能让import sys print(
python抓取gb2312/gbk编码网页乱码问题
做了个网络爬虫抓取网页,但如果网页是gbk/gb2312编码,则会出现乱码问题,如下:rn取得文字后,直接打印,输出结果str如下:¹óÖÝÈËÊ¿¼ÊÔÐÅÏ¢Íø_¹óÖÝÈËÊ¿¼ÊÔÍø_¹óÖݹ«ÎñÔ±¿¼ÊÔÍø_¹óÖÝÖй«rnrnrn这个问题困扰我好长时间,baidu,google了一番也没有找到完全可行的方法,继续瞎折腾,最后居然搞出来了!编码转换来转换去的,还是得不
python在gbk编码转换成utf-8时乱码问题
rn实例网站:http://www.ip138.com/ips138.asp?ip=124.24.13.241&action=4rnrn #项目爬虫,环境python-下载导入requests、lxml包rn #url时是查ip位置的接口rn url_1='http://www.ip138.com/ips138.asp?ip='+str(kh_ip)+'&action=2'rn #导入...
用urllib.request函数爬程序的需要decode一下,转换成utf-8
#从豆瓣网中爬出版社的程序https://read.douban.com/provider/alln#最后并写入TXT文件当中nimport renimport urllib.requestn'''pat = "pyth[jsh]n"nsting1 = "wodepythjn"nrelt = re.search(pat,sting1)nprint(relt)n'''nf = urllib.requ...
Python3——网络小说爬虫
爬虫步骤回顾:nn根据前两篇文章,我们理解了爬虫的各个过程,简单回顾下:nn爬虫第一步:根据URL获取网页的HTML信息;nnPython3中可以通过urllib.request或者requests进行网页爬取;(前两篇文章中我们已经见识到了)nn    urllib库是Python内置的,无需我们额外安装;nn    requests库是第三方库,需要我们自己安装;(在上一节中我们是通过PyCh...
maven, install 时候报错“编码 gbk 的不可映射字符”的解决方法
maven,install(maven打包)时候报错“编码gbk的不可映射字符”报错的原因是compiler采用了GBK编码,而源代码设置的是utf8编码导致编译的时候无法正确解析源码,报错的原因是compiler采用了GBK编码,而源代码设置的是utf8编码导致编译的时候无法正确解析源码,解决方法很简单,,在pom的compiler插件配置处加入utf8rn 即可,如下:rnn project
pip install安装中的编码错误三种类型的解决办法
反正我的Py2和Py3的sys包都没有setdefaultencoding()方法。nn1、pip源码明显的decode,encode错误nn如下代码中明显抛出了错误编码与文件地址,原为'utf-8'的找到修改为gbk,gbk同理。nnnn2、另一种pip版本代码的错误nn如下pip代码堆栈信息,可以直接找到encoding文件修改编解码方式。nnnn注释出错位置,gbk改utf-8,utf-8改...
python3读取txt出现编码错误
错误: UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 840: illegal multibyte sequence解决办法:f = open('1.txt', 'r', encoding="utf8")nbuff = f.read()nf.close()注意事项:    utf8不要写成utf-8,我就是因...
Python3网络爬虫,简单爬取网络小说并下载
相信我们常常会有想看的小说,但是不能下载,导致无法在没网的环境下观看。。下面将解一下如何用python3爬取网络小说。n本文主要是用于学习,希望大家支持正版。n首先我们需要两个包,我们分别是requests和beautifulsoup4n我们只要在cmd命令分别运行npip install requestsnpip install beautifulsoup4n即可安装,安装好以后我们先去小说网站...
python3使用configparser读取带有中文的配置文件出现UnicodeDecodeError错误
问题: n使用configparser读取配置文件时,出现UnicodeDecodeError错误,在没有任何中文的时候读取可以的,加了1句中文注释后就抛出异常,异常如下:ef readconfig(filename):n cf = configparser.ConfigParser()n try:n configcontent = []n cf.read(f
nodejs爬虫编码问题
最近再做一个nodejs网站爬虫的项目,但是爬一些网站的数据出现了中文字符乱码的问题。查了一下,主要是因为不是所有的网站的编码格式都是utf-8,还有一些网站用的是gb2312或者gbk的编码格式。所以需要做一个处理来进行编码的解码。至于网站的编码怎么看,可以通过去检查中的network去看。 n n根据相应的编码格式,进行相应的设置。utf-8就不要说了,下面就以gbk为例,说一下解码的方式。va
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python爬麦子学院 python爬小说教程