批量爬取苏宁易购领券中心所有优惠券
#coding=utf-8
import requests
import json
import os
import time
getclass=requests.get('https://quan.suning.com/getClassList__1__7070748075_.htm')
class_data=json.loads(getclass.text)
code=[]
name=[]
#print(len(class_data['saleCatgList']))
for k in range(len(class_data['saleCatgList'])):
code.append(class_data['saleCatgList'][k]['saleCatgCode'])
name.append(class_data['saleCatgList'][k]['saleCatgName'])
dict_list=dict(zip(code,name))
#print(dict_list)
#url_list=[]
if os.path.exists('C:\youhui.txt'):
os.remove('C:\youhui.txt')
for code in dict_list.keys():
url_list=[]
with open('C:\youhui.txt','a') as f:
print('开始找券~~:%s' % dict_list[code])
print('--------------------------')
f.write(dict_list[code])
f.write('\n')
f.write('--------------------------\n')
f.close()
for i in range(1,6):
if len(code)==6:
url_list.append('https://quan.suning.com/getClassActivityRecommend_1_'+code+'_15_'+str(i)+'_7070748075_.htm')
else:
url_list.append('https://quaapi.suning.com/getCouponCenterActivities_1__'+code+'____'+str(i)+'_15_callback.htm')
#print(url_list)
for url in url_list:
response=requests.get(url)
json_data=json.loads(response.text.strip('callback').strip('(').strip(')'))
for j in range(len(json_data['freeCouponList'])):
finalname=json_data['freeCouponList'][j]['shopName']
finaldesc=json_data['freeCouponList'][j]['actDesc']
applink=json_data['freeCouponList'][j]['applink']
pclink=json_data['freeCouponList'][j]['pclink']
#print(('%s\n%s\n\n') % (finalname,finaldesc))
with open('C:\youhui.txt','a') as f:
f.write(('券名称:%s\n券内容:%s\napp领取地址:http:%s\n电脑领取地址:http:%s\n\n') % (finalname,finaldesc,applink,pclink))
f.close()
print('结果请见C:\youhui.txt')
time.sleep(5)
程序运行如图
结果输出到文件
新人上手爬虫,仅为业余爱好,不做商业用途。欢迎大神批评指正交流--------
写成这样如果也愿意转载的话。。。还是请注明吧