加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

LUA提取免费迅雷账号

发布时间:2020-12-14 21:57:24 所属栏目:大数据 来源:网络整理
导读:--获取http://www.521xunlei.com/ 免费迅雷账号function getPageid()local http = require("socket.http")local url = "http://521xunlei.com/forum.php?mod=forumdisplayfid=2orderby=dateline"local resp = http.request(url)local s = string.find(resp,"
--获取http://www.521xunlei.com/ 免费迅雷账号

function getPageid()
	local http = require("socket.http")
	local url = "http://521xunlei.com/forum.php?mod=forumdisplay&fid=2&orderby=dateline"
	local resp = http.request(url)
	local s = string.find(resp,"<tbody id="normalthread_")
	local e = string.find(resp,"">",s)
	local pageid = string.sub(resp,s + 24,e - 1)
	return pageid
end

function getDatas()
	local urlpre = "http://521xunlei.com/thread-" 
	local url = urlpre .. getPageid() .. "-1-1.html"
	local http = require("socket.http")
	local html = http.request(url)
	local i = 1
	local usrstart,usrend,psdstart,psdend,temp_x,temp_y
	while(string.find(html,"爱密码迅雷会员共享",i))
	do 
		i,j = string.find(html,i)
		usrstart = j + 1
		usrend,temp_x = string.find(html,"独家分享密码",j)
		psdstart = temp_x + 1
		usrend = usrend - 1
		temp_y,_ = string.find(html,"</font>",temp_x)
		psdend = temp_y - 1
		print("用户名:" .. string.sub(html,usrstart,usrend) .. "   密码:" .. string.sub(html,psdend))
		i = psdend
	end
end


print(getDatas())


--[[
按照发帖时间将帖子排序
http://521xunlei.com/forum.php?mod=forumdisplay&fid=2&orderby=dateline
最新帖子查找example:
<tbody id="normalthread_8901">
]]


--匹配的字符串有问题了,导致获取不到

参考一篇博文:http://www.voidcn.com/article/p-ybryxdgf-bgp.html

http://www.voidcn.com/article/p-chowfiks-do.html

.  任意字符
 %s 空白符
 %p 标点
 %c 控制字符
 %d 数字
 %x 十六进制数
 %z 代表0的字符
 %a 字母
 %l 小写字母
 %u 大写字母
 %w 字母数字
字符类的大写形式代表相应集合的补集, 比如 %A 表示除了字母以外的字符集
另外,* + - 三个,作为通配符分别表示:
*: 匹配前面指定的 0 或多个同类字符, 尽可能匹配更长的符合条件的字串
+: 匹配前面指定的 1 或多个同类字符, 尽可能匹配更长的符合条件的字串
-: 匹配前面指定的 0 或多个同类字符, 尽可能匹配更短的符合条件的字串

于是, "(%a+)%s*=%s*(%a+)" 表示, 先匹配一个或多个字母, 然后是零个或多个空白符(比如空格), 然后是个 '=', 然后空白符, 然后字母。这样, 满足匹配的只有 "name = Anna"。 所以输出位置为 2 12.
因为捕获了两个 (%a+), 也就是 name,Anna 这两个单词, 所以还输出了这两个单词

代码更改为:

--获取http://www.521xunlei.com/ 免费迅雷账号

function getPageid()
	local http = require("socket.http")
	local url = "http://521xunlei.com/forum.php?mod=forumdisplay&fid=2&orderby=dateline"
	local resp = http.request(url)
	local s = string.find(resp,e - 1)
	return pageid
end

function getDatas()
	local urlpre = "http://521xunlei.com/thread-" 
	local url = urlpre .. getPageid() .. "-1-1.html"
	local http = require("socket.http")
	local html = http.request(url)
	local title_x,title_y
	_,title_x = string.find(html,"<span id="thread_subject">");
	title_y,"</span>",title_x)
	print("t" .. string.sub(html,title_x + 1,title_y - 1) .. "n")
	
	local i,psdend
	i = 1
	while(string.find(html,"迅雷",i)
		usrstart,usrend = string.find(html,("(%w+):%d"),i)
		if(usrstart == nil or usrend == nil) then
			break
		end
		_,psdstart = string.find(html,"密码",usrend)
		if(psdstart == nil) then
			break
		end
		psdstart = psdstart + 1
		psdend = psdstart + 6
		i = psdend + 1
		print("账号:" .. string.sub(html,usrend) .. "t密码:" .. string.sub(html,psdend))
	end
end


print(getDatas())


--[[
按照发帖时间将帖子排序
http://521xunlei.com/forum.php?mod=forumdisplay&fid=2&orderby=dateline
最新帖子查找example:
<tbody id="normalthread_8901">
]]


测试:


因为获取到的迅雷账号,不一定保证有效,所以要写一个批量登陆验证的脚本。(待续...)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读