求助,TypeError: sequence item 0: expected a bytes-like object, str found

qq_41938732 2018-04-01 07:31:15
小白不知道该怎么改,代码大概如下
n = 0; # 切片计数器
for i in range(part_n):
for j in range(part_n):
left_bottom_part = [left_bottom[0]+i*x_item,left_bottom[1]+j*y_item]; # 切片的左下角坐标
right_top_part = [right_top[0]+i*x_item,right_top[1]+j*y_item]; # 切片的右上角坐标
for k in range(20):
url = url0 + 'query=' + query + '&page_size=20&page_num=' + str(k) + '&scope=1&bounds=' + str(left_bottom_part[1]) + ',' + str(left_bottom_part[0]) + ','+str(right_top_part[1]) + ',' + str(right_top_part[0]) + '&output=json&ak=' + ak;
data = urllib.request.urlopen(url);
hjson = json.loads(data.read());
if hjson['message'] == 'ok':
results = hjson['results'];
for m in range(len(results)): # 提取返回的结果
col.insert_one(results[m]);
n += 1;
print ('第',str(n),'个切片入库成功')
...全文
1236 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈年椰子 2018-04-02
  • 打赏
  • 举报
回复
你要做什么?什么地方出错?
陈年椰子 2018-04-02
  • 打赏
  • 举报
回复
建议 1、不要用中文做程序文件名。 也不要用中文目录名。 2、 在这个位置, 输入 url 看看生成了什么
data = urllib.request.urlopen(url);
陈年椰子 2018-04-02
  • 打赏
  • 举报
回复
说错了,输出url 看看生成了什么 意思就是print 看看url
qq_41938732 2018-04-02
  • 打赏
  • 举报
回复
引用 1 楼 seakingx 的回复:
你要做什么?什么地方出错?
全部代码如下 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib.request import json from pymongo import MongoClient left_bottom = [116.282387,39.835862]; # 设置区域左下角坐标(百度坐标系) right_top = [116.497405,39.996569]; # 设置区域右上角坐标(百度坐标系) part_n = 2; # 设置区域网格(2*2) client = MongoClient('localhost',27001) db = client.transdata db.authenticate("xxxx", "xxxx") col = db.taxi; # 连接集合 url0 = 'http://api.map.baidu.com/place/v2/search?'; x_item = (right_top[0]-left_bottom[0])/part_n; y_item = (right_top[1]-left_bottom[1])/part_n; query = '饭店'; #搜索关键词设置 ak = 'xxxxxxxxxxxxxxxxxxx'; #百度地图api信令 n = 0; # 切片计数器 for i in range(part_n): for j in range(part_n): left_bottom_part = [left_bottom[0]+i*x_item,left_bottom[1]+j*y_item]; # 切片的左下角坐标 right_top_part = [right_top[0]+i*x_item,right_top[1]+j*y_item]; # 切片的右上角坐标 for k in range(20): url = url0 + 'query=' + query + '&page_size=20&page_num=' + str(k) + '&scope=1&bounds=' + str(left_bottom_part[1]) + ',' + str(left_bottom_part[0]) + ','+str(right_top_part[1]) + ',' + str(right_top_part[0]) + '&output=json&ak=' + ak; data = urllib.request.urlopen(url); hjson = json.loads(data.read()); if hjson['message'] == 'ok': results = hjson['results']; for m in range(len(results)): # 提取返回的结果 col.insert_one(results[m]); n += 1; print ('第',str(n),'个切片入库成功')
qq_41938732 2018-04-02
  • 打赏
  • 举报
回复
引用 1 楼 seakingx 的回复:
你要做什么?什么地方出错?
想弄一个爬取矩形区域内poi点的,错误信息如下 Traceback (most recent call last): File "<string>", line 426, in run_nodebug File "F:\1\模块1.py", line 35, in <module> data = urllib.request.urlopen(url); File "F:\1\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "F:\1\lib\urllib\request.py", line 526, in open response = self._open(req, data) File "F:\1\lib\urllib\request.py", line 544, in _open '_open', req) File "F:\1\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "F:\1\lib\urllib\request.py", line 1346, in http_open return self.do_open(http.client.HTTPConnection, req) File "F:\1\lib\urllib\request.py", line 1318, in do_open encode_chunked=req.has_header('Transfer-encoding')) File "F:\1\lib\http\client.py", line 1239, in request self._send_request(method, url, body, headers, encode_chunked) File "F:\1\lib\http\client.py", line 1285, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "F:\1\lib\http\client.py", line 1234, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "F:\1\lib\http\client.py", line 1024, in _send_output msg = b"\r\n".join(self._buffer) TypeError: sequence item 0: expected a bytes-like object, str found

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧