python爬取json接口

Python 专栏收录该内容
6 篇文章 0 订阅

在某大佬的指导下,接触第一个爬虫,这里是爬取了一个网站的接口数据并且保存成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
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值