模块:Hydrogina/sandbox/getweb

来自PRTS
跳转到导航 跳转到搜索

可在模块:Hydrogina/sandbox/getweb/doc创建此模块的帮助文档

p={}

function p.get(frame)
	local args = (frame == mw.getCurrentFrame() and frame.args) or frame
	
	local rtn=""
	
	local argv = 0
	while(args[argv+1])do
		argv=argv+1
	end
	
	local searchlabel="【干员】"
	local web="2017"
	local startmonth=1
	local endmonth=12
	local nopic="yes"
	
	if(args["searchlabel"])then
		searchlabel=args["searchlabel"]
	end
	
	if(args["web"])then
		web=args["web"]
	end
	
	if(args["startmonth"])then
		startmonth=tonumber(args["startmonth"])
	end
	
	if(args["endmonth"])then
		endmonth=tonumber(args["endmonth"])
	end
	
	if(args["nopic"])then
		nopic=args["nopic"]
	end
	----------------------------------------------------------------------------------
	
	local webname='用户:ZheiZhei/Sandbox/影像资料/微博@明日方舟Arknights/'
	--[[]
	local weblist=
	{
		'用户:ZheiZhei/Sandbox/影像资料/微博@明日方舟Arknights/2017',
		'用户:ZheiZhei/Sandbox/影像资料/微博@明日方舟Arknights/2018',
		'用户:ZheiZhei/Sandbox/影像资料/微博@明日方舟Arknights/2019',
		'用户:ZheiZhei/Sandbox/影像资料/微博@明日方舟Arknights/2020'
	}]]--
	
	
	
	
	local str=""
	if(startmonth==1 and endmonth==12)then
		str = frame:expandTemplate{title = webname..web, args = {}}
	else
		for j = startmonth, endmonth do
			local tempstr=frame:callParserFunction{
				name = '#lsth:'..webname..web, args={
				j.."月"
			}}
			str=str..tempstr
		end
	end
	
	--webget={}
	--table.insert (webget, str)
	--[[]
	for i = 1, #weblist do
		--local str = frame:expandTemplate{title = weblist[i], args = {}}
		local str=""
		for j = 1, 12 do
			local tempstr=frame:callParserFunction{
				name = '#lsth:'..weblist[i], args={
				j.."月"
			}}
			str=str..tempstr
		end
		table.insert (webget, str)
	end]]--
	
	----------------------------------------------------------------------------------
	--[[]
	local sep="</table>------------------------------------"
	
	weiboeach={}
	for i = 1, #webget do
	--for i = 1, 1 do
		--rtn=rtn..webget[i]
		local temptable=mw.text.split(webget[i], '</table>' ,true)
		--table.insert (weiboeach, temptable)
		--rtn=rtn..(#temptable).."\n\n"
		rtn=rtn..table.concat(temptable,sep)
	end
	
	
	local sep="------------------------------------"
	for i = 1, #weiboeach do
		
		rtn=rtn..sep.."\n\n"..i.."\n\n"..sep
		rtn=rtn..table.concat(weiboeach[i],sep)
		
	end]]--
	
	
	----------------------------------------------------------------------------------
	local weiboeach=mw.text.split(str, '</table>' ,true)
	
	local sep="</table>"
	
	local targetlist={}
	
	for i = 1, #weiboeach do
		local fnd=string.find(weiboeach[i], searchlabel) 
		if(fnd)then
			local tempstr=weiboeach[i]
			
			if(nopic=="yes")then
				tempstr=string.gsub(tempstr,"<img.->","");
			end
			
			table.insert (targetlist, tempstr)
		end
		
	end
	
	for i=#targetlist,1,-1 do
		rtn=rtn..targetlist[i]..sep
	end
	--rtn=table.concat(targetlist,sep)
	
	rtn=string.gsub(rtn,"^.-<table","<table",1);
	----------------------------------------------------------------------------------
	return rtn
end
return p