#参考资料 某评Mtgsig1.1逆向学习_轩辕丿的博客-CSDN博客
#仅供参考学习使用
# -*- coding: utf-8 -*-
import re,sys,os,time,datetime,requests,json
from spiderx import sx,tools
class spider():
def __init__(self):
pass
def get_page(self,page):
d = os.popen(f'node dzdp.js {page}').read()
d=json.loads(d)
url=d['url']
while True:
req=sx.post_request(url,headers=d['headers'],data=d['data'],try_num=5)
if req.status_code==200:
res=req.json()
data=res ['data']['moduleInfoList'][0]['moduleData']['data']['listData']['list']
if not data:
print('last')
return -1
for i, d in enumerate(data):
#https://m.dianping.com/shop/l8jBZQcqALY28jOE?from=shoplist&shoplistqueryid=d7a2e944-3801-41ee-8bf4-c8be103ddd28
shopuuid=sx.json_path(d,'$..shopuuid')
shopurl=f'https://m.dianping.com/shop/{shopuuid}'
name=d['name']
branchName=d['branchName']
print(self.index,name,branchName,shopurl)
self.index+=1
break
else:
time.sleep(1)
def get_content(self):
self.index=1
page=1
while True:
res=self.get_page(page)
if res==-1:
break
@sx.zsq_try_Exception(递归=1)
def run(self):
self.get_content()
if __name__ == '__main__':
sp=spider()
sp.run()
os.system('pause')