乐趣区

关于python:利用python爬取信息并保存到excel

哈喽,大家好!明天小编为大家带来一个十分实用的小技巧 咱们如何把爬取的信息保留到 excel。
首先咱们讲存入 excel 常常用到的库,xlrd,xlwt,xlwings,openpyxl,xlsxwriter 等等有很多,然而我用的是 openpyxl 这个库去保留的信息到 excel。

openpyxl 是一个用于读取和编写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。

下载 openpyxl
windows +R 关上 cmd 输出命令 pip install openpyxl

pip install openpyxl

接下来就是如何创立 excel

import openpyxl
 
#关上文件
wb = openpyxl.Workbook()
 
#应用的工作对象创立一张表
sheet1 = wb.active
 
#在 sheet1 表中写入内容    插入内容
 
sheet1.append['姓名','性别'] #等等  这是在 excel 第一行插入, 能够相当于一个文件的表头
 
#默认创立新的表单 放在最初
sheet2 = wb.create_sheet('title')
 
#批改表名
sheet2.title ='new sheet'
 
#色彩
sheet1.sheet_properties.tabColor= '000000'
 
# 敞开保留工作簿          
wb.save('文件名.xlsx')

比方我爬取的一个婚恋网站 - 我主良缘

首先咱们要解析它的网页地址

因为咱们所须要的信息和内容是在 list 上面,而 list 又在 data 上面 所以咱们能够用一个 for 循环把它遍历进去,代码如下:


​for item in json['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,"姓名:"+username,"性别:"+gender,"省份::"+province,"城市:"+city,"出世年日:"+birthdayyear,"身高:"+height,"工资:"+salary,"照片:"+avatar,"星座:"+astro,"内心独白:"+monolog)


既然咱们须要把信息保留到 excel 中 那么就须要把下面这段代码放在创立 excel 表的代码当中。

残缺代码如下:

# 关上文件
wb = openpyxl.Workbook()

#应用的工作对象创立一张表
sheet1 = wb.active

#在 sheet1 表中写入内容    插入内容

sheet1.append(['ID','姓名','性别','省份','城市','出世年日','身高 (cm)','工资','照片','星座','内心独白'])

for page in range(1,10): #获取 1 到 10 页的内容
    
    #依据用户输出的数据,获取服务返回的数据
    
    json = get_data(page,startage,endage,gender,startheight,endheight,salary)

    #print(json['data']['list'])
  
    for item in json['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,"姓名:"+username,"性别:"+gender,"省份::"+province,"城市:"+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')

好了 明天小编就讲到这里啦

退出移动版