在某大佬的指导下,接触第一个爬虫,这里是爬取了一个网站的接口数据并且保存成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接口的数据

 

 

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 2 个月前
8c391e04 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐