写python 爬虫时遇到解析json的 keyerror问题

图片说明

因为每一类的电影页数不确定
所以for循环循环到的页面所爬取的有的json数据是
{"data":[{"data":"no result"}],"status":0}这样的(就是该页数是空的 没有能够爬到的)

会提示keyerror 应该怎么解决呢 用default提示是str不是字典 有什么办法可以直接跳过吗

2个回答

加个语句判断一下是不是字典

if isinstance(json_str, dict)
    do your action

或者取key时候:
dict_movie.get('your key')
没有key会返回None

xdshust
溪水人家 回复woaiyibao: 收到response以后,先判断是不是空白页,如果是,就继续下一页。空白页判断你可以看看是不是大小都比较小,或者看重要的key是不是在response中存在。
大约一年之前 回复
woaiyibao
woaiyibao 能不能直接跳过空白页面的key 继续爬取呢
大约一年之前 回复
woaiyibao
woaiyibao 他返回的应该是一个页面的json数据 {"additional":"\u8c46\u74e3:\u6682\u65e0\u8bc4\u5206","ename":"\u4e5d\u5929\u534a","jumplink":"","jumpquery":"\u4e5d\u5929\u534a \u7535\u5f71","kg_pic_url":"https:\/\/ss1.baidu.com\/6ONXsjip0QIZ8tyhnq\/it\/u=3033554977,3748668586&fm=58&s=C3CA20F26E3369AF99B16363030070F6","name":"\u4e5d\u5929\u534a","pic_6n_161":"https:\/\/ss1.baidu.com\/6ONXsjip0QIZ8tyhnq\/it\/u=3033554977,3748668586&fm=58&s=C3CA20F26E3369AF99B16363030070F6","searchp":"","selpic":"pic_6n_161,pic_6n_161","sort":"\u6700\u70ed\u7535\u5f71,\u6700\u65b0\u7535\u5f71,\u7528\u6237\u597d\u8bc4","statctl":"stat0,stat1,stat2","statlst":"\u7c7b\u578b,\u5730\u533a,\u5e74\u4ee3"},{"additional":"\u8c46\u74e3:\u6682\u65e0\u8bc4\u5206","ename":"\u57ce\u94c1\u4e09\u53f7\u7ebf","jumplink":"","jumpquery":"\u57ce\u94c1\u4e09\u53f7\u7ebf
大约一年之前 回复

简单粗暴的方法是:try-except-finally语法来直接捕捉keyerror跳过错误

温柔一点的做法你就先判断一下result这个键是否存在字典里,不存在就跳过

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用python爬虫解析json

报错 JSONDecodeError: Expecting value: line 1 column 1 (char 0) 源码 # -*- coding:utf-8 -*- import requests from openpyxl import Workbook url='https://www.lagou.com/jobs/positionAjax.json?px=default&city=上海&needAddtionalResult=false' page=1 lang_name='python' def get_json(url,page,lang_name): data={'first':True,'pn':page,'kd':lang_name} json_data=requests.post(url).json() #list_con=json_data['content']['positionResult']['result'] print(json_data['content']['positionResult']['result']) get_json(url,page,lang_name)

使用Python或Java解析Json文件,逐级打印菜单

有这样一个菜单json文件: {"id":"100" "name":"File" "parent":"#", "id":"200" "name":"Edit" "parent":"#", "id":"300" "name":"Search" "parent":"#", "id":"400" "name":"Project" "parent":"#", "id":"500" "name":"Help" "parent":"#", "id":"101" "name":"New" "parent":"100", "id":"102" "name":"Open" "parent":"100", "id":"103" "name":"Load" "parent":"100", "id":"201" "name":"Cut" "parent":"200", "id":"202" "name":"Copy" "parent":"200", "id":"203" "name":"Paste" "parent":"200", "id":"301" "name":"Back" "parent":"300", "id":"302" "name":"Replace" "parent":"300", "id":"303" "name":"Jump" "parent":"300", "id":"401" "name":"Add" "parent":"400", "id":"402" "name":"Remove" "parent":"400", "id":"403" "name":"Close" "parent":"400", "id":"501" "name":"Mode" "parent":"500", "id":"502" "name":"Key" "parent":"500", "id":"503" "name":"About" "parent":"500", "id":"1011" "name":"xx" "parent":"101", "id":"2011" "name":"yy" "parent":"201", "id":"3011" "name":"zz" "parent":"301", } 想要打印出如下结果: 100 File 100 File 101 New 100>101 File>New 1011 xx 100>101>1011 File>New>xx 102 Open 100>102 File>Open 103 Load 100>103 File>Load 200 Edit 200 Edit 201 Cut 200>201 Edit>Cut 2011 yy 200>201>2011 Edit>Cut>yy 202 Copy 200>202 Edit>Copy 203 Paste 200>203 Edit>Paste 300 Search 300 Search 301 Back 300>301 Search>Back 3011 zz 300>301>3011 Search>Back>zz 302 Replace 300>302 Search>Replace 303 Jump 300>303 Search>Jump 400 Project 400 Project 401 Add 400>401 Project>Add 402 Remove 400>402 Project>Remove 403 Close 400>403 Project>Close 500 Help 500 Help 501 Mode 500>501 Help>Mode 502 Key 500>502 Help>Key 503 About 500>503 Help>About 想要得出如下结果: 属性Parent如果为#时,说明这是一个根节点,直接打印,打印格式为 ID+Name+ID+Name 属性Parent如果非#时,则需要找到父节点的ID和Name,打印格式为 ID+Name+Parent ID>ID+Parent Name>Name 如果父节点也不是一个根节点,打印格式为 ID+Name+根节点ID>Parent ID>ID+根节点Name>Parent Name>Name,以此类推。当菜单层级非常多时,此处判断如何写一个递归算法,逐级找到某节点的所有父节点。

python requests后json的问题

request后json的值为空,这是什么情况,各位老师给看看,谢谢 还有怎么上传图啊,手机。 ![图片说明](https://img-ask.csdn.net/upload/201812/05/1544000786_380130.png)![图片说明](https://img-ask.csdn.net/upload/201812/05/1544000795_120443.png)

python 爬虫刚开始学习的一个问题

![图片说明](https://img-ask.csdn.net/upload/201709/14/1505379243_392477.png) 这段代码,当我点Execute Selection in Console时候,可以正常运行,并且结果和教材一致 ![图片说明](https://img-ask.csdn.net/upload/201709/14/1505379267_933740.png) 但是我直接运行这个文件时,就开始报错了 ![图片说明](https://img-ask.csdn.net/upload/201709/14/1505379288_263899.png) 这是怎么回事呢?? 错误信息如下: C:\Users\yzy\AppData\Local\Programs\Python\Python36\python.exe C:/Users/yzy/Desktop/python/webscraping.py Traceback (most recent call last): File "C:\Users\yzy\AppData\Local\Programs\Python\Python36\lib\bz2.py", line 19, in <module> from threading import RLock ImportError: cannot import name 'RLock' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:/Users/yzy/Desktop/python/webscraping.py", line 4, in <module> from urllib.request import urlopen File "C:\Users\yzy\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 98, in <module> import tempfile File "C:\Users\yzy\AppData\Local\Programs\Python\Python36\lib\tempfile.py", line 43, in <module> import shutil as _shutil File "C:\Users\yzy\AppData\Local\Programs\Python\Python36\lib\shutil.py", line 22, in <module> import bz2 File "C:\Users\yzy\AppData\Local\Programs\Python\Python36\lib\bz2.py", line 21, in <module> from dummy_threading import RLock File "C:\Users\yzy\AppData\Local\Programs\Python\Python36\lib\dummy_threading.py", line 49, in <module> sys_modules['_dummy__threading_local'] = sys_modules['_threading_local'] KeyError: '_threading_local' Exception ignored in: <module 'threading' from 'C:\\Users\\yzy\\Desktop\\python\\threading.py'> AttributeError: module 'threading' has no attribute '_shutdown' Process finished with exit code 1

python 爬虫框架scrapy报错

![图片说明](https://img-ask.csdn.net/upload/201804/13/1523608771_773621.png)程序没有问题,但是这些错误很蛋疼,求解决

python错误:ValueError: No JSON object could be decoded

#-*- coding:utf-8 -*- import requests from operator import itemgetter # 执行API调用并存储响应 url = 'http://hacker-news.firebaseio.com/v0/topstories.json' r = requests.get(url) print("Status code:", r.status_code) # 处理有关每篇文章的信息 submission_ids = r.json() submission_dicts = [] for submission_id in submission_ids[:30]: # 对于每篇文章,都执行一个API调用 url = ('http://hacker-news.firebaseio.com/v0/item/' + str(submission_id) + '.json') submission_r = requesets.get(url) print(submisssion_r.status_code) reponse_dict = submission_r.json() submission_dict = { 'title': resopnse_dict['title'], 'link': 'http://news.ycombinator.com/item?id=' + str(submission_id), 'comments': response_dict.get('descendants', 0) } submission_dicts.append(submission_dict) submission_dicts = sorted(submission_dicts, key=itemgetter('comments'), recerse=Ture) for submission_dict in submission_dicts: print("/nTitle:", submission_dict['title']) print("Discussion link:", submission_dict['link']) print("Comeents", submission_dict['comments'])

python: 想要列出某一行的时候,提示keyerror或者行不存在。但实际上行是存在的。

df = pd.read_csv('D:/DataAnalyst/test.csv',sep='\t') df.head() 结果如下, ![图片说明](https://img-ask.csdn.net/upload/202003/11/1583863516_293045.jpg) 问题: 想要列出某一行的时候,总是提示Keyerror, ![图片说明](https://img-ask.csdn.net/upload/202003/11/1583863538_199082.jpg) ![图片说明](https://img-ask.csdn.net/upload/202003/11/1583863550_528688.jpg) 用value_counts去给某一列计数的时候也提示列不存在。请问怎么解决啊 ![图片说明](https://img-ask.csdn.net/upload/202003/11/1583863686_851278.jpg) ..

flask 新手遇到KEYERROR问题

# KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS' sql代码 ``` from flask import Flask from flask_sqlalchemy import SQLAlchemy import os basedir = os.path.abspath(os.path.dirname(__file__)) app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///'+os.path.join(basedir,'data.sqlite') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =True db = SQLAlchemy(app) class Role(db.Model): __tablename__ = 'roles'#__tablename__ 定义在数据库中使用的表名 id = db.Column(db.Integer, primary_key=True)#primary_key如果设为 True ,这列就是表的主键.如果没有定义 __tablename__ ,SQLAlchemy 会使用一个默认名字 name = db.Column(db.String(64), unique=True) users = db.relationship('User', backref='role') def __repr__(self): return '<Role % r>' % self.name class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True, index=True) role_id = db.Column(db.Integer, db.ForeignKey('roles.id')) def __repr__(self): return '<User % r>' % self.username ```主程序代码 ``` from flask import Flask,render_template,url_for,session,redirect,flash from flask_bootstrap import Bootstrap from flask.ext.moment import Moment import os from flask_sqlalchemy import SQLAlchemy from flask.ext .wtf import Form from wtforms import StringField,SubmitField #字段类型类导入 字符串,提交 from wtforms.validators import DataRequired #从表单验证 导入 请求 from datetime import datetime from sql import db,User,Role,app class NameForm(Form): name = StringField('你的名字 ?',validators=[DataRequired()]) #DataRequired()[验证函数]表示数据示为必须非空 submit = SubmitField('提交') app = Flask(__name__) app.config['SECRET_KEY'] ='hard to guess string' bootstrap = Bootstrap(app) monent = Moment(app) @app.route('/',methods=['GET','POST']) #app后面的metheds参数告诉Flask 在URL映射中吧视图函数注册为Get Post请求的处理程序.如果没有metheds #参数,就只把视图函数注册为GET请求的处理程序 def index(): form = NameForm() if form.validate_on_submit():#如果数据能被所有验证函数接收(上面的)返回True 否则False user = User.query.filter_by(username = form .name.data).first() if user is None: user = User(username = form.name.data ) db.session.add(user) session['known'] =False else: session['known']= True session['name'] = form.name.data form .name.data='' return redirect(url_for('index')) return render_template('user.html',form = form ,name=session.get('name'),known = session.get('known',False)) @app.errorhandler(404) def page_not_found(e): return render_template('404.html'),404 if __name__ == '__main__': app.run(debug=True) ```一提交表单就错误 图片![![图片说明](https://img-ask.csdn.net/upload/201801/12/1515731831_287746.png)图片说明](https://img-ask.csdn.net/upload/201801/12/1515731822_970460.png)

帮帮忙吧,急哭了:python实现拉格朗日插值进行缺失值插补时报错,出现Keyerror:0问题?

![图片说明](https://img-ask.csdn.net/upload/201911/13/1573618586_795847.png) 数据截图 ``` import pandas as pd from scipy.interpolate import lagrange inputfile = './test1.xlsx' outputfile = './test1_1.xlsx' def ployinterp_column(s,n,k=6): y = s[list(range(n-k,n)) + list(range(n+1,n+1-k))] y = y[y.notnull()] return lagrange(y.index,list(y))(n) for i in data.columns: for j in range(len(data)): if (data[i].isnull())[j]: data[i][j] = ployinterp_column(data[i],j) ``` 报错 ``` KeyError Traceback (most recent call last) <ipython-input-28-02cf873cddff> in <module>() 1 for i in data.columns: 2 for j in range(len(data)): ----> 3 if (data[i].isnull())[j]: 4 if (data[i].isnull())[j] in data: 5 data[i][j] = ployinterp_column(data[i],j) C:\Anaconda3\lib\site-packages\pandas\core\series.py in __getitem__(self, key) 765 key = com._apply_if_callable(key, self) 766 try: --> 767 result = self.index.get_value(self, key) 768 769 if not is_scalar(result): C:\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_value(self, series, key) 3116 try: 3117 return self._engine.get_value(s, k, -> 3118 tz=getattr(series.dtype, 'tz', None)) 3119 except KeyError as e1: 3120 if len(self) > 0 and self.inferred_type in ['integer', 'boolean']: pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_value() pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_value() pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item() pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item() KeyError: 0 ```

mat structure 导入python出现keyerror

![图片说明](https://img-ask.csdn.net/upload/202003/25/1585100540_161469.png) import mat4py x = mat4py.loadmat('FP_test_3631.mat') data = x['FP_test_3631'] print(data) ![图片说明](https://img-ask.csdn.net/upload/202003/25/1585100614_921970.png)

从PHP调用Python脚本的函数

<div class="post-text" itemprop="text"> <p>I have Python script with a fucntion. I want to call this function from PHP while passing two parameters to the function.<br> What am i doing wrong here? :/</p> <h1>myscript.py</h1> <pre><code>def InitPython(ID,Name): 'DO STUFF' </code></pre> <h1>PHP</h1> <pre><code> $varone='bleh'; $vartwo='blah'; $output = shell_exec("myscript.py '$varone' 'vartwo' "); </code></pre> </div>

python报错KeyError: 231是什么意思?

if prefix_words: for word in prefix_words: output,hidden = model(input,hidden) input = Variable(input.data.new([word2ix[word]])).view(1,1) File "main.py", line 103, in gen_acrostic input = Variable(input.data.new([word2ix[word]])).view(1,1) KeyError: 231 ``` ```

在head first python第七章遇到问题

cgi.FieldStorage有什么作用,什么表单数据 书中有这么几行代码 ``` import cgi form_data=cgi.FieldStorage() athlete_name=form_data['which_athlete'].value ``` 我照样输入后,却出现了‘which_athlete’的keyerror

pandas使用透明表后运行错误

data=pd.read_csv('xxx.csv',encoding='gbk') new_data=pd.pivot_table(data,values='时间序列',index='姓名') 运行后报如下错误:https://ask.csdn.net/my# for i in values: if i in values : if i not in data: raise keyError(i) TypeError:argument of type 'method' is not iterable. 是因为透明表的值域不能是时间序列吗?还是想要处理的数据没有存入透明表中?

python报错:KeyError: 'user_id'

#coding:utf-8 import pandas as pd import numpy as np import time import datetime import gc from sklearn.preprocessing import LabelEncoder,OneHotEncoder def pre_process(data): cols = data.columns.tolist() keys = ['instance_id', 'day'] for k in keys: cols.remove(k) return data, cols def dorollWin(data): data['context_timestamp_str'] = data['context_timestamp'].astype(str) user_time_join = data.groupby(test.user_id)['context_timestamp_str'].agg(lambda x:';'.join(x)).reset_index() user_time_join.rename(columns={'context_timestamp_str':'user_time_join'},inplace = True) data = pd.merge(data,user_time_join,on=[test.user_id],how='left') user_shop_time_join = data.groupby([test.user_id,'shop_id'])['context_timestamp_str'].agg(lambda x:';'.join(x)).reset_index() user_shop_time_join.rename(columns={'context_timestamp_str':'user_shop_time_join'},inplace = True) data = pd.merge(data,user_shop_time_join,on=[test.user_id,'shop_id'],how='left') user_item_time_join = data.groupby([test.user_id,'item_id'])['context_timestamp_str'].agg(lambda x:';'.join(x)).reset_index() user_item_time_join.rename(columns={'context_timestamp_str':'user_item_time_join'},inplace = True) data = pd.merge(data,user_item_time_join,on=[test.user_id,'item_id'],how='left') data['index_']=data.index del user_time_join,user_shop_time_join,user_item_time_join nowtime=data.context_timestamp.values user_time=data.user_time_join.values user_shop_time=data.user_shop_time_join.values user_item_time=data.user_item_time_join.values data_len=data.shape[0] user_time_10_bf=np.zeros(data_len) user_time_10_af=np.zeros(data_len) user_shop_time_10_bf=np.zeros(data_len) user_shop_time_10_af=np.zeros(data_len) user_item_time_10_bf=np.zeros(data_len) user_item_time_10_af=np.zeros(data_len) a=time.time() for i in range(data_len): df1=nowtime[i] df2=user_time[i].split(';') df2_len=len(df2) for j in range(df2_len): if ((int(df2[j])-df1)<600) & ((int(df2[j])-df1)>0): user_time_10_bf[i]+=1 if ((int(df2[j])-df1)>-600) & ((int(df2[j])-df1)<0): user_time_10_af[i]+=1 df3=user_shop_time[i].split(';') df3_len=len(df3) for j in range(df3_len): if ((int(df3[j])-df1)<600) & ((int(df3[j])-df1)>0): user_shop_time_10_bf[i]+=1 if ((int(df3[j])-df1)>-600) & ((int(df3[j])-df1)<0): user_shop_time_10_af[i]+=1 df4=user_item_time[i].split(';') df4_len=len(df4) for j in range(df4_len): if ((int(df4[j])-df1)<600) & ((int(df4[j])-df1)>0): user_item_time_10_bf[i]+=1 if ((int(df4[j])-df1)>-600) & ((int(df4[j])-df1)<0): user_item_time_10_af[i]+=1 print(time.time()-a) data['user_count_10_bf']=user_time_10_bf data['user_count_10_af']=user_time_10_af data['user_shop_count_10_bf']=user_shop_time_10_bf data['user_shop_count_10_af']=user_shop_time_10_af data['user_item_count_10_bf']=user_item_time_10_bf data['user_item_count_10_af']=user_item_time_10_af drops = ['context_timestamp_str', 'user_time_join', 'user_shop_time_join', 'user_item_time_join', 'index_'] data = data.drop(drops, axis=1) return data def doSize(data): add = pd.DataFrame(data.groupby(["shop_id", "day"]).item_id.nunique()).reset_index() add.columns = ["shop_id", "day", "shop_item_unique_day"] data = data.merge(add, on=["shop_id", "day"], how="left") user_query_day = data.groupby(['user_id', 'day']).size().reset_index().rename(columns={0: 'user_id_query_day'}) data = pd.merge(data, user_query_day, how='left', on=['user_id', 'day']) data['min_10'] = data['minute'] // 10 data['min_15'] = data['minute'] // 15 data['min_30'] = data['minute'] // 30 data['min_45'] = data['minute'] // 45 # user 不同时间段点击次数 min10_user_click = data.groupby(['user_id', 'day', 'hour', 'min_10']).size().reset_index().rename(columns={0:'min10_user_click'}) min15_user_click = data.groupby(['user_id', 'day', 'hour', 'min_15']).size().reset_index().rename(columns={0:'min15_user_click'}) min30_user_click = data.groupby(['user_id', 'day', 'hour', 'min_30']).size().reset_index().rename(columns={0:'min30_user_click'}) min45_user_click = data.groupby(['user_id', 'day', 'hour', 'min_45']).size().reset_index().rename(columns={0:'min45_user_click'}) data = pd.merge(data, min10_user_click, 'left', on=['user_id', 'day', 'hour', 'min_10']) data = pd.merge(data, min15_user_click, 'left', on=['user_id', 'day', 'hour', 'min_15']) data = pd.merge(data, min30_user_click, 'left', on=['user_id', 'day', 'hour', 'min_30']) data = pd.merge(data, min45_user_click, 'left', on=['user_id', 'day', 'hour', 'min_45']) del data['min_10'] del data['min_15'] del data['min_30'] del data['min_45'] return data def doElse(data): pass def main(): path = 'F:/18ijcaidata/' train = pd.read_csv(path+'train_day7.csv',encoding='utf-8') test = pd.read_csv(path+'test_day7.csv',encoding='utf-8') data = pd.concat([train, test]) print('初始维度:', data.shape) data, cols = pre_process(data) print('pre_process:', data.shape) ################################## data = dorollWin(data) print('dorollWin:', data.shape) data = doSize(data) print('doSize:', data.shape) ################################## data = data.drop(cols, axis=1) # 得到7号训练集 data = data.loc[data.day == 7] data = data.drop('day', axis=1) print('经过处理后,7号数据集最终维度::',data.shape) print(data.columns.tolist()) data.to_csv(path+'103_statistics_feat.csv', index=False) if __name__ == '__main__': #??????????????运行此行,出现key error:'user_id' main() ``` ```

Python3.7 用pdfminer3k读取PDF出现‘'KeyError ;DescendantFonts'’,

读取到interpreter.process_page(page) 时进入到get_font函数出现'KeyError ;DescendantFonts'’,请问怎么解决 自己用word生成的pdf,请问在哪里找字体,找到后放到哪里

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

import requests import json url='https://c.y.qq.com/soso/fcgi-bin/client_search_cp' headers = { 'referer':'https://y.qq.com/portal/search.html', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' } for i in range(3): params = { 'ct':'24', 'qqmusic_ver':'1298', 'remoteplace':'txt.yqq.lyric', 'searchid':'93038333267724521', 'aggr':'0', 'catZhida':'1', 'lossless':'0', 'sem':'1', 't':'7', 'p':str(i+1), 'n':'5', 'w':'周杰伦', 'g_tk':'5381', 'loginUin':'0', 'hostUin':'0', 'format':'json', 'inCharset':'utf8', 'outCharset':'utf-8', 'notice':'0', 'platform':'yqq.json', 'needNewCode':'0' } res=requests.get(url,headers=headers,params=params) res_music=json.loads(res.text, strict=False) list_music=res_music['data']['lyric']['list'] for x in list_music: song_name=x['songname'] singer=x['singer'][0]['name'] album=x['albumname'] lyric=x['content'] url=x['download_url'] print('歌曲:' + song_name + ' 歌手:' + singer) print('专辑:' + album + '\n') print('URL:' + url + '\n') print('歌词:\n'+ lyric +'\n\n--------------------------------------') print('这是第%s页'%(i+1)) 用json爬QQ音乐报错: Traceback (most recent call last): File "f:/py练习/爬QQ音乐进阶.py", line 33, in <module> res_music=json.loads(res.text, strict=False) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\json\__init__.py", line 361, in loads return cls(**kw).decode(s) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

JSON的读取问题,data未定义

$.ajax({ type: 'GET', url: "GetXY.ashx", dataType: 'json', success: function (data) { $.each(data, function (key, val) { //输出 var lnglat = new TLngLat(data[key].x,data[key].y); var marker = new TMarker(new TLngLat(data[key].x, data[key].y)); map.addOverLay(marker); // markers.push(new TMarker(lnglat)); }) //markerClusterer = new TMarkerClusterer(map, config); }, error: function (data, textStatus, errorThrown) { alert(textStatus); } }); 执行时data未定义,但URL有响应,

运行时出现错误:KeyError: Index(['subwayline'], dtype='object')

我知道是那个subwayline那里的问题,但是我不知道如何解决。完整代码如下: #-*- coding:utf-8 -*- import pandas as pd from matplotlib import pyplot as plt # 分析全国哪个城市地铁线最多 def subline_count(): df1 = df.iloc[:, :-1] # 筛选前三列 # print(df1.head()) df2 = df1.drop_duplicates(subset=["city", "subwayline"]) # 去重 df3 = df2["city"].value_counts() # 按照城市排序 df3.plot.bar() plt.savefig("城市地铁线数量排行.png") plt.show() # print(df3) # 分析全国哪个城市地铁站最多 def substation_count(): df2 = df.drop_duplicates(subset=["city", "subwaystation"]) # 去重 df3 = df2["city"].value_counts() # 按照城市排序 df3.plot.bar() plt.savefig("城市地铁站数量排行.png") plt.show() if __name__ == '__main__': df = pd.read_csv("subway.csv", encoding="utf-8") plt.rcParams["font.sans-serif"] = "fangsong" # print(df.head()) subline_count() substation_count()

学Python后到底能干什么?网友:我太难了

感觉全世界营销文都在推Python,但是找不到工作的话,又有哪个机构会站出来给我推荐工作? 笔者冷静分析多方数据,想跟大家说:关于超越老牌霸主Java,过去几年间Python一直都被寄予厚望。但是事实是虽然上升趋势,但是国内环境下,一时间是无法马上就超越Java的,也可以换句话说:超越Java只是时间问题罢。 太嚣张了会Python的人!找工作拿高薪这么简单? https://edu....

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

用python打开电脑摄像头,并把图像传回qq邮箱【Pyinstaller打包】

前言: 如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。 注: 这个程序仅限在朋友之间开玩笑,别去搞什么违法的事情哦。 代码 发送邮件 使用python内置的email模块即可完成。导入相应的代码封装为一个send函数,顺便导入需要导入的包 注: 下面的代码有三处要修改的地方,两处写的qq邮箱地址,还有一处写的qq邮箱授权码,不知道qq邮箱授权码的可以去百度一...

做了5年运维,靠着这份监控知识体系,我从3K变成了40K

从来没讲过运维,因为我觉得运维这种东西不需要太多的知识面,然后我一个做了运维朋友告诉我大错特错,他就是从3K的运维一步步到40K的,甚至笑着说:我现在感觉自己什么都能做。 既然讲,就讲最重要的吧。 监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方...

计算机网络——浅析网络层

一、前言 注意,关于ipv4和ipv6,ipv4是ip协议第4版本,也表示这个版本的ip一共4个字节,同样地,ipv6是ip协议第6版本,也表示这个版本的ip一共6个字节。 关于网络层使用路由器实现互联:在计算机网络的分层结构中,不同层有不同的中继设备: 计算机网络层 中继设备/中继系统 物理层 中继器、集线器Hub 数据链路层 网桥或交换机(交换机是多端口网桥,两者本质上是一个东西) 网络层 路...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

立即提问
相关内容推荐