can't concat str to bytes

import urllib.request
import urllib.parse

url="https://www.baidu.com/s?"
header=urllib.request.HTTPHandler()
opener=urllib.request.build_opener(header)
ser=input("请输入你要查询的内容")
date={
'word' : ser,
}
date=urllib.parse.urlencode(date)
url+=date
print(url)
headers={
'User-Agent' : 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Mobile Safari/537.36',
}
req=urllib.request.Request(url,headers)
response=opener.open(req)
print(response)
报错如下:
Traceback (most recent call last):
File "D:/PycharmProjects/search.py", line 18, in
response=opener.open(req)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 525, in open
response = self._open(req, data)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 543, in _open
'_open', req)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 503, in _call_chain
result = func(*args)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 1360, in https_open
context=self._context, check_hostname=self._check_hostname)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 1317, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\MaiBenBen\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1054, in _send_output
+ b'\r\n'
TypeError: can't concat str to bytes

3个回答

原因分析:pandas与python版本不匹配。

解决方法,更换python版本

1、这两句
date=urllib.parse.urlencode(date)
url+=date
改为:
date=urllib.parse.urlencode(date).encode()

2、然后,
req=urllib.request.Request(url,headers)
改为:
req=urllib.request.Request(url, date, headers)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python3:str与bytes的相互转换
# bytes orig_bytes = b"my is a bytes" # str orig_str = "my is a sting" 第一种方法: # str转换为bytes bytes(orig_str, encoding = 'utf-8') bytes(orig_str, 'utf-8') # bytes转换为str str(orig_bytes, encoding = 'ut...
str bytes如何转换
str        使用encode方法转换为bytes(爬虫的得到的响应以二进制的方式传送) In [9]: a = "你好" In [10]: type(a) ...
Python3的bytes与str
又是一个简单的问题,又折腾了很多时间...rnrn有一个文件,里面有形如 \x01\x80\x02\xc0\x02\x00 的内容rn我知道它是一个 bytes类型,但读进来的时候是一个字符串(没有用rb去读,因为前期要做一些字符串处理以获得这一部分内容)。rn问题是,无论是用encode还是bytes(str,'utf-8')去转,它都会变成类似 \\x01\\x80\\x02\\xc0\\x02\\x00 的内容。rnrn求处理方法rn
bytes和str转换函数
python3有两种表示字符序列的类型:bytes和str。前者的实例包含原始的8位二进制,后者的实例包含unicode字符。 python3中字符串默认是str,支持中文和英文字符>>> s="abc" >>> s 'abc' >>> s="中国" >>> s '中国' >>> s="中国abc" >>> s '中国abc' >>> len(s) 5要想把unicode字符转换成二进制数据,必须
python str与bytes之间的转换
python str与bytes之间的转换 # bytes object b = b"example" # str object s = "example" # str to bytes sb = bytes(s, encoding = "utf8") # bytes to str bs = str(b, encoding = "utf8") # an alte...
Can't
我用Visual InterDev新建一个New Web Project,在出现的第一个界面中要求输入服务器,我输的是我的计算机名,按“NEXT”后,总是提示Unable to contact Web Server http://我的服务器名,(只有重装操作系统才好)不知道是什么原因?
不同进制转换,bytes和str的转换
参考网址:http://www.cnblogs.com/hushaojun/p/7681148.html 1,函数说明(帮助文档): oct() Return the octal representation of an integer. bin():Return the binary representation of an integer. ord() :Return the Unicode ...
python中bytes和str相互转换:
bytes和str相互转换: a = 'hello world' # str b = b'hello world' # bytes bytes转str: 法一: c = b.decode() 法二: c = str(b,encoding = 'utf-8) str转bytes: d = a.encode() 还有其他方式,欢迎留言补充! ...
tuple、str、bytes数据操作方法
 
can't connect to VM
今天用MyEclipse 做一个简单的用户管理系统。rnrn数据库是以JDBC驱动连接的。rnrn参数都是配置对的。。因为用了几个小时tomcat都能正常启动rnrn但是 后面救老是启动不了。rn显示 can't connect to VM 怎么弄都不行。。rnrn急啊,,。
can't open display:
在命令行下输入xconsole等命令提示:“can't open display:”是何原因?如何修改?
Can't load server.xml
在Eclipse下启动Tomcat时,提示错误:Can't load server.xml.rn这是什么原因?请大家帮忙!谢谢!
smartdrv can't be loaded
(Sorry,I am in the Japanese OS and not convenient to input Chinese character.)I restarted my pc by floppydisk,when I ran smartdrv.exe,it indicated that XML driver,HIMEM.sys is not loaded,rnPlease tell me how to solve this proble.Thank you!
rolstartvispos can't be > rollen
1、使用ado.edit和ado.post修改了一个字段的值,ado.close时出现了这个提示;rn2、使用ado.delete删除一行记录后,ado.close时出现了这个提示;rn以前没有(也可能是没有测试到),今天增加了多选记录行,删除已经选择的记录,使用了bookmark,就突然出现了?rn删除选择的记录:rnfor i:=0 to dbgrideh.selectedrows.count-1 dornbeginrn dbgrideh.datasource.dataset.gotobookmark(dbgrideh.selectedrows.items[i]);rn ado.delete;rnend;rn重置:rnado.close;rn这时候出错 rolstartvispos can't be > rollenrn怀疑还是记录定位的问题,以前没见过这种错误
can't find library! :(...
SCO Unix,写了一个库,编译成libini.a,没有问题。rn写了一个测试程序,调用这个库中的函数,编译的时候rn说can't find library libini.a ,这是怎么回事?rn编译命令我这么写的:rncc -o test test.c -lini -L /data01/src/librn我不写-L也是一样的错误... :(... 我是新手,请教了!rn
can't be located!
The procedure entry point MyClass@*** could not be located in the dynamic link library *.dll
can't "Imports Microsoft.Data.Odbc"
I want to use ODBCConnection in VB.net, but I can't import microsoft.data.odbc.
can't execute program
F7编译没错误,点感叹号,就出现这个对话框!什么意思啊?
python3字符串编码总结-str bytes
python3中,str包含unicode字符,而bytes包含原始8位值。 而在python2中,str包含原始8位值,unicode包含unicode字符。注意这点差异。 以python3为例: src = ‘你好世界’ 此时的str为 str类型,如果需要把它转乘byte类型,可以通过: src =  src.encode('utf-8') 此时src已经是byte类型了,如果想
Python3中的Bytes和str之间的关系
Python3中的Bytes和str之间的关系 文本总是unicode字符集,用str类型表示。 二进制数据则由bytes表示。(通过socket在网络上传输数据时必须要用二进制格式)   Python不会以任何隐式的方式混用str和bytes,所以我们不能在代码中拼接字符串和字节包   当然字符串和字节,是可以被相互转换的。 借用一个...
爬虫学习01 str类型和bytes类型 Unicode UTF8 ASCII 的补充 str bytes如何转化
bytes:二进制 互联网上的数据都是以二进制方式传输的 str: unicode的呈现形式 字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字符号等 字符集(Character)是多个字符的集合 字符集包括:ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等 ASCII编码是1个字节,而Unico
RolStartVisPos can't be > RolLen
DbgridEh v.9.1 以下,当ScrollBar横向滚动后,再刷新数据集时 会弹出以下错误: RolStartVisPos can't be > RolLen
why can't run
i user a api functionrn[ DllImport("user32") ]rn public static extern long ExitWindowsEx(long uFlags, long dwReserved ) ;rnbut it can't be runrnprivate void button3_Click(object sender, System.EventArgs e)rn rn if(MessageBox.Show("close computer","system infomation",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.OK)rn sh=ExitWindowsEx(2,dwReserved);rn rnprivate void button3_Click(object sender, System.EventArgs e)rn rn if(MessageBox.Show("close computer","system infomation",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.OK)rn sh=ExitWindowsEx(1,dwReserved);rnrnrn rnrnrnrnhelp, help,help,rn
can't open msdn130.col
windows2000 profession安装了msdn1后,打开msdn后提示can't open msdn130.col;重装几次后还是不行,求助!
Can't Create table
DECLARE @AREA CHAR(2)rnDECLARE @DATE CHAR(12)rnSET @DATE = '20060928'rnSET @AREA = '01'rnrnDECLARE @TABLENAME CHAR(20)rnSET @TABLENAME = 'Table_'+@AREA+'_'+@DATErnrnprint @TABLENAMErnrncreate table @TABLENAME(v int)rnrn为什么不能 Create table ? 老报错, 我怎么做才能在创建表的时候用变量?rn
Can't use FLAG_RECEIVER_BOOT_UPGRADE
rn[code=Java]rn rn NotificationManager MyNotiManager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);rn rn Intent notifyIntenet=new Intent("PublicServerFilter"); rn notifyIntenet.putExtras(bundle);rn notifyIntenet.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);rn PendingIntent appIn=PendingIntent.getBroadcast(getBaseContext(), 0, notifyIntenet, PendingIntent.FLAG_CANCEL_CURRENT);rn Notification myNoti=new Notification(); rn if(IconId>0)rn myNoti.icon=IconId;rn myNoti.tickerText=msg; rn myNoti.defaults=Notification.DEFAULT_SOUND;rn myNoti.when= System.currentTimeMillis(); rn myNoti.setLatestEventInfo(getBaseContext(), title, msg, appIn);rn MyNotiManager.notify(PublicNotificationId,myNoti);rnrnrn[/code]rnrn在写这样一个函数的时候,错误,是不是在初始化rnIntent notifyIntenet=new Intent("PublicServerFilter"); rn不能使用这个呢。因为我不想毁掉到class上,直接回调到系统的函数上。rn所以就这样初始化了。就这样报错。rnERROR/AndroidRuntime(255): java.lang.IllegalArgumentException: Can't use FLAG_RECEIVER_BOOT_UPGRADE here
can’t compile qt-mobility-opensource-src-1.2.0
os: win xp sp3rnvs: vs2010rnqt:Qt libraries 4.8.0 for Windows (VS 2010) rnqt-mobility:qt-mobility-opensource-src-1.2.0rncompile steps as below:rn 1.start qt 4.8.0 command promptrn 2. enter directory qt-mobility-opensource-src-1.2.0 rn 3. configure -prefix=“c:\\qt\\4.8.0”rn 4. nmakernwhen do nmake error occurs: ‘QMetaObjectBuilder::setStaticMetacallFunction’: cannot convert parameter 1 from ‘const QMetaObjectExtraData::StaticMetacallFunction’ to ‘QtMobility::QMetaObjectBuilder::StaticMetacallFunction’rnThis conversion requires a reinterpret_cast, a C-style cast or function-style castrnrn
can't be cast to java.lang.Comparable?
以下这段代码,我在Eclipse或NetBeans中可以运行,但在命令行下用java执行时却给出了错误信息:rnException in thread "main" java.lang.ClassCastException: The_Obj cannot be castrnto java.lang.Comparablern at java.util.Arrays.mergeSort(Arrays.java:1144)rn at java.util.Arrays.sort(Arrays.java:1079)rn at The_Obj.main(The_Obj.java:22)rn这是为啥?rn[code=Java]public class The_Obj implements Comparablernrn private double a;rn public The_Obj(double a)rn this.a =a;rn rn public int compareTo(The_Obj obj)rn rn if(this.a > obj.a) return 1;rn else if(this.a == obj.a) return 0;rn else return -1;rn rn public static void main(String[] args)rn rn Comparable[] array = new The_Obj[3];rn System.out.println("Before sort: ");rn for(int i = 0; i < 3; i++)rn array[i] = new The_Obj((double)Math.random());rn System.out.println(((The_Obj)array[i]).a);rn rn System.out.println("\nAfter sort: ");rn java.util.Arrays.sort(array);rn for(int i = 0; i < 3; i++)rn System.out.println(((The_Obj)array[i]).a);rn rn rn[/code]
can`t find openocd.cfg
想在Ubuntu上安装openocd来给板子烧程序,本来下了个openocd的tar包,但是make时报错,于是直接用的apt-get install openocd安装的,用 openocd -v查看,可以看到版本号,说明安装成功了,但是,使用其他命令,如 openocd -f时,却报错,提示找不到 openocd.cfg,这个怎么搞?自己新建一个吗?网上倒是看到很多教怎么配置openocd的,但是,我找不到这个文件啊,要是新建的话,是在哪儿新建呢?
Can't co-create object
http://www.tuicool.com/articles/IN7Vnmrnrn按照我自己写c#是生成dll文件。在java里调用出现rnCan't co-create objectrn
出现can't locate
Can't locate ./environment.pl in @INC (@INC contains: /usr/rcpark/pub/perl5/lib/sun4-solaris/5.00404 /usr/rcpark/pub/perl5/lib /usr/rcpark/pub/perl5/lib/site_perl/sun4-solaris /usr/rcpark/pub/perl5/lib/site_perl .) at /opt/public_html/cgi-bin/common.pl line 17.rnrnrn请问为什么会出现以上错误?rnrn附:文件common.pl的第17行是:rnrequire './environment.pl';rnrnrequire './environment.pl';、require "./environment.pl";、require 'environment.pl'、require '/opt/public_html/cgi-bin/environment.pl';有区别么?或者是其它错误?谢谢。rnrn另外:在perl中如果一个a.pl require 了environment.pl文件,b.cgi同时require了a.pl和environment.pl是否有错?就像C语言里类似重复包含头文件会报错那样.rnrnrn
Can't resolve "Hello"...
我用JBuilder的EJB2.0 Designer产生一个名为Hello的Ejbrn(Stateless session bean),按照<>rn所示代码录入,然后用Client wizard产生客户端代码,rn却总是出现如题的错误提示;rn  另外,我按照Oreilly出版社的<>rn所示代码测试Ejb 1.X 也出现Can't rosolve...的提示;rn  我曾经在CSDN上咨询过,各位高手都提醒我查看rnweblogic-ejb-jar.xml中的jndi标签,但中的名字和rnlookup()对象名并没有错,我错在哪里呢?这个问题几个月来一直rn是我学习Ejb的拦路虎,help!!!rnrn我的环境:Win2000 SP3, JBuilder7.0 + Weblogic7
Can't delete Table1 !!
小弟欲做一快速报表。采用Table,QRChat,DBGrid,QuickRep.....,因为试验的需要,rnrn添加的demo在正式运行前将delete.rn rn 程序如下:rn rn if(Table1->Active)rn rn Excutive=true;rn Table1->Empty(?);rn rn elsern rn Table1->DatabaseName= "xxxx";rn Table1->TableType="XXX";rn Table1->TableName=" XXX";rn Table1->EmptyTable();rn rn 运行后,Error提示“table1 is Locked....”rn rn 将executive ->false,Error 提示Table1 can't be Opened. !!!!rn rn 令人百思不得其解。一气之下,小弟将Table1 在设计期间的Active=false;rnrn运行出错,不管。进入操作区,运行Delete按钮,终于Delete Table1's data.rnrn可如果在设计时将Table1设为True,问题依旧!!!!rn rn WHY???rn rn 小弟翻了好多书,都没有说得更详细。rnrn Help!! rn rn rnrn rn rnrn
Can't Open msdn110.col
我安了一个 MSDN Library April 2001,打开时说不能打开 msdn110.col 文件,谁有这个正确的文件呀,帮忙传一下。
Can't find NTLDR?
我的机器上装有NT 和98 rn不知道被谁误删了什么东西rn启动时出现rnCan't find NTLDRrnINSERT ANOTHER DISKrn
can't pen glut32.lib?
我在学opengl,但用vc++连接不上,找解决方案,答复是:rn“把glut32.lib文件所在.lib文件夹加在tools-options-Dictinaries的library files中,再在projects-setting的link的object/library modules中加入glut32.lib. ”rn但这.lib文件夹是什么东西啊?tools-options-Dictionarys是在哪啊?library files我怎么没找到啊?project-setting?
python3字典键值类型转换(bytes,str)
字典键值由bytes转为str:注,在python2下执行,因python3下eval后仍为bytes def convert(data):     if isinstance(data, bytes):  return eval(data) # data.decode('ascii')     if isinstance(data, dict):   return dict(map(con...
TypeError: the JSON object must be str, not 'bytes'
哪里错了?rn[code=python]import urllibrnimport jsonrnpath='http://www.weather.com.cn/data/cityinfo/101010100.html';rnhtml=urllib.request.urlopen(path).read();rndata=json.loads(html)[/code]
python3 中 str和bytes之间的转换
Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。以Unicode表示的str通过encode()方法可以编码为指定的bytes如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法初始一个字符串按utf-8,str转bytes按...
Python中str和bytes之间的转换
Python中str和bytes之间的转换 str.encode(‘encoding’) -&amp;amp;amp;gt; bytes bytes.decode(‘encoding’) -&amp;amp;amp;gt; str Encoding指的是具体的编码规则的名称,对于中文来说,它可以是这些值: ‘utf-8’, ‘gb2312’, ‘gbk’, ‘big5’ 等等。 不知道你有没有注意到上图中str矩形要比Bytes矩形短,表示同...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池