python爬取json接口

在某大佬的指导下,接触第一个爬虫,这里是爬取了一个网站的接口数据并且保存成Excel文档,代码不多,重在认识爬虫

Python写爬虫真的是爽

#! /usr/bin/env python
# coding=utf-8
import requests
import json
import sys
import xlwt
ses = requests.session() #
# requests是与发送请求有关的,xlwt模块是创建、读写Excel文件,sys实现从程序外部向程序传递参数
reload(sys)#需要重新加载模块,以防止上一次调用过模块导致报错
sys.setdefaultencoding('utf8')
def http_get(url):
    return json.loads(requests.get(url,stream=True).content)

workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Worksheet')
row=0
for a in range(0,1):   #这句代码是循环 0=<a<1 ,所有实际上就是输出当a=0是写入url,可有可无
              #http://180.153.255.6/mobile/discovery/v2/category/metadata/albums/ts-1515757942203?calcDimension=hot&categoryId=0&device=android&pageId=1&pageSize=100&version=6.3.60
              url="http://180.153.255.6/mobile/discovery/v2/category/metadata/albums/ts-1515757942203?calcDimension=hot&categoryId=0&device=android&pageId="+str(a)+"&pageSize=100&version=6.3.60"
              json_data=http_get(url)
              
              if json_data["list"]==[]:
                   break
              else:
                     b=len(json_data["list"])
                     for bb in range(0,b):
                            special_list=[]
                            tracks_list=[]
                            albumId=json_data["list"][bb]["albumId"]
                            sku_url="http://180.153.255.6/mobile/v1/album/ts-1515829937763?ac=WIFI&albumId="+str(albumId)+"&device=android&isAsc=true&pageId=1&pageSize=1&pre_page=2&source=5&supportWebp=true"
                            json_sku_data=http_get(sku_url)
                            if json_sku_data["data"]!="":
                                   try:
                                           user_id=json_sku_data["data"]["user"]["uid"]
                                   except:
                                           user_id=""
                                   print albumId,
                                   print user_id,
                                   print json_data["list"][bb]["title"]
                                   list = [albumId,json_data["list"][bb]["title"],json_data["list"][bb]["nickname"],json_data["list"][bb]["intro"]]
                            for p in range(0, 4):
                                worksheet.write(row, p, label=list[p])
                            row=row+1
print row-1  #从 0 开始,这里应该直接输出 row 就可以显示多少条数据了
workbook.save('Excel_Workbook.xls')

 需要注意的是,reload(sys) 是重新加载sys模块,如果不加载模块会报错

好了,一个简单的爬虫就做出来了,这个爬虫主要是爬取json接口的数据

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值