当前位置: 首页 > 后端技术 > Python

使用python爬取信息并保存到excel

时间:2023-03-26 14:24:34 Python

大家好!今天,小编为大家带来一个非常实用的小技巧,我们如何将爬取的信息保存到excel中。首先说一下excel中经常用到的库。有很多xlrd、xlwt、xlwings、openpyxl、xlsxwriter等,但是我是用openpyxl库把信息保存到excel的。openpyxl是一个用于读写Excel2010xlsx/xlsm/xltx/xltm文件的库。下载openpyxlwindows+R打开cmd输入命令pipinstallopenpyxlpipinstallopenpyxl接下来是如何创建excelimportopenpyxl#打开文件wb=openpyxl.Workbook()#创建工作对象表sheet1=wb.active#写入sheet1EntercontentInsertcontentsheet1.append['name','gender']#等等,这个插入到excel的第一行,可以相当于一个文件的表头#默认新建一个表格,放在theendsheet2=wb.create_sheet('title')#修改表名sheet2.title='newsheet'#Colorsheet1.sheet_properties.tabColor='000000'#关闭并保存工作簿wb.save('filename.xlsx')比如我爬的婚恋网站-我主要的好关系首先我们要分析它的网页地址,因为我们需要的信息和内容在列表下面,而列表在数据下面,所以我们可以使用for循环遍历它。代码如下:foriteminjson['data']['list']:username=item['username']gender=item['gender']userid=item['userid']province=item['province']height=item['height']city=item['city']astro=item['astro']birthdayyear=item['birthdayyear']salary=item['salary']avatar=item['avatar']monolog=item['monolog']print("ID:"+userid,"name:"+username,"gender:"+gender,"province:"+province,"city:"+city",birthdate:"+birthdayyear,"height:"+height,"salary:"+salary,"photo:"+avatar,"zodiacsign:"+astro,"内心独白:"+monolog)由于我们需要将信息保存在excel中,所以需要将上面的代码放在创建excel表格的代码中完整代码如下:#打开文件wb=openpyxl.Workbook()#创建工作对象表sheet1=wb.active#在sheet1中写入内容并插入内容sheet1.append(['ID','name','性别','省份','城市','出生日期','身高(cm)','工资','照片','星座','内心独白'])forpageinrange(1,10):#获取第1页到第10页的内容#根据用户输入的数据,获取服务返回的数据json=get_data(page,startage,endage,gender,startheight,endheight,salary)#print(json['data']['list'])foriteminjson['data']['list']:username=item['username']gender=item['gender']userid=item['userid']province=item['province']height=item['height']city=item['city']astro=item['astro']birthdayyear=item['birthdayyear']salary=item['salary']avatar=item['avatar']monolog=item['monolog']print("ID:"+userid,"name:"+username,"gender:"+gender,"province:"+province,"city:"+city,"出生年份和日期:"+birthdayyear,"身高:"+height,"薪水:"+salary,"图片:"+avatar,"星座:"+astro,"内心独白:"+monolog)print('开始写入ecxel,请稍等...',end='')xx_info=[userid,username,gender,province,city,birthdayyear,height,salary,avatar,astro,monolog]sheet1.append(xx_info)print('写入成功\n')#关闭并保存工作簿wb.save('交友网站数据抓取.xlsx')好了,今天小编就到这里