ajax传输json数据格式 ajax发送json数据实例( 三 )


L4.append(x)
#由于同时解四个包太过复杂,python不干,故拆分开来
x=0
while(x<len(L1)):
print(L1[x],’\t’,’\t’,L2[x],’\t’,’\t’,L3[x],’\t’,’\t’,L4[x])
x+=1
这样我们就爬下一页了:经验证无误 。
六、扩大战果(儿时吹的牛皮还是要补的)
前面夸下海口要抓30页,怎么就能没有了呢?其实后面已经基本没有什么了,有兴趣的朋友可以和我一起补补课 。
感觉内容有些多,我在这里简单描述思路,就是我们要分析第一页第二页第三页等之间的目标数据地址的url的相似之处,或者说其中的规律,比如:
第二页:
http://query.sse.com.cn/security/stock/getStockListData2.do?&jsonCallBack=jsonpCallback46762&isPagination=true&stockCode=&csrcCode=&areaName=&stockType=1&pageHelp.cacheSize=1&pageHelp.beginPage=2&pageHelp.pageSize=25&pageHelp.pageNo=2&pageHelp.endPage=21&_=1517320503162
第三页:
http://query.sse.com.cn/security/stock/getStockListData2.do?&jsonCallBack=jsonpCallback61233&isPagination=true&stockCode=&csrcCode=&areaName=&stockType=1&pageHelp.cacheSize=1&pageHelp.beginPage=3&pageHelp.pageSize=25&pageHelp.pageNo=3&pageHelp.endPage=31&_=1517320503163
很轻松就可以对比出不同和相似之处,可以说仅仅在个别关键字部分进行了修改 。
故提取三十页的代码,以及之前的各种步骤,我们可以封装到函数以便调取使用:
def find_pageA(c): #根据传递参数c(提取的页数)来选择目标url地址
return ‘http://query.sse.com.cn/security/stock/getStockListData2.do?&jsonCallBack=jsonpCallback13897&isPagination=true&stockCode=&csrcCode=&areaName=&stockType=1&pageHelp.cacheSize=1&pageHelp.beginPage=’+str(c)+’&pageHelp.pageSize=25&pageHelp.pageNo=’+str(c)+’&pageHelp.endPage=’+str(c)+’1&_=151731428806’+str(c)
def datascreenA(a):#封装解析输出的部分
COMPANY_CODE=jsonpath(a,’$..pageHelp..COMPANY_CODE’)
COMPANY_ABBR=jsonpath(a,’$..pageHelp..COMPANY_ABBR’)
totalShares=jsonpath(a,”$..pageHelp..totalShares”)
totalFlowShares=jsonpath(a,’$..pageHelp..totalFlowShares’)
print(‘公司/A股代码’,’\t’,’公司/A股简称’,’\t’,’A股总资本’,’\t’,’A股流动资本’)
L1=list()
L2=list()
L3=list()
L4=list()
for x in COMPANY_CODE:
L1.append(x)
for x in COMPANY_ABBR:
L2.append(x)
for x in totalShares:
L3.append(x)
for x in totalFlowShares:
L4.append(x)
x=0
while(x<len(L1)):
print(L1[x],’\t’,’\t’,L2[x],’\t’,’\t’,L3[x],’\t’,’\t’,L4[x])
x+=1
def collect_30_pagesA():#调取30页,相当于主函数
c=1
while(c<31):
财路哥.sleep(2)
print(‘第’, c, ‘页:’)
response=requests.get(find_pageA(c),headers=headers)
a='{“content”:’+response.text[19:-1]+’}’
b=json.loads(a)
datascreenA(b)
c+=1
终结
不知不觉写了这么多,真的是闲的太慌了 。其实除了A股还有B股,有兴趣也可以继续爬下去,虽然我不知道有什么价值目前……另外就是前言部分的爬取也可以尝试一下,可能会发现那个文件中的数据又是从其他地方获取的……恕我能力有限,原理不是特别清晰,故而没有深入讲解那个,望各位指教 。当然暴力破解是可行的,但是……又不着急干啥能不用就不用呗,^_^ 。
————————————————


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: