require("gb2312toutf8") local http = require "socket.http" local surl = "http://www.jokeji.cn" local function getUrl(c) if c:sub(1,1) == "/" then return surl .. c else return surl .. "/" .. c end end -- 發表說說 local QQfabiao = socket.protect(function(con) function fabiao(con) local t = {} local reqt = { url = "http://taotao.qzone.qq.com/cgi-bin/emotion_cgi_publish_v6?g_tk=881884919", sink = ltn12.sink.table(t) } local b = [[code_version=1&con=]] .. con ..[[&feedversion=1&format=fs&hostuin=1246747572& paramstr=1&pic_template=&qzreferrer=http%3A%2F%2Fuser.qzone.qq.com%2F1246747572%2Finfo center%3Fptsig%3D6JR2IckHBsW62y*a8Yyk-D5kl2*LY57C7ekyMPUwblQ_&richtype=&richval=&specia l_url=&subrichtype=&syn_tweet_verson=1&to_sign=0&to_tweet=0&ugc_right=1&ver=1&who=1]] if b then reqt.source = ltn12.source.string(b) reqt.headers = { ["content-length"] = string.len(b), ["content-type"] = "application/x-www-form-urlencoded", ["cookie"] = "pgv_pvid=2921257289; pt2gguin=o1246747572; ptcz=f19275426fb17fa422bc3db0ea1c152651d9c750dc26c80c5e96540ad52e53a6; o_cookie=1246747572; RK=i3cumo4Hct; pgv_pvi=3924128768; p_o2_uin=1246747572; ptui_loginuin=1246747572; qqmusic_uin=12345678; qqmusic_key=12345678; qqmusic_fromtag=6; pgv_info=ssid=s5823528911; skey=@dbKiNxZAF; ptisp=ctc; uin=o1246747572; QZ_FE_WEBP_SUPPORT=0; cpu_performance_v8=6; __Q_w_s__QZN_TodoMsgCnt=1; __Q_w_s_hat_seed=1; __Q_w_s__appDataSeed=1; Loading=Yes; qzmusicplayer=qzone_player_1246747572_1455773155776; blabla=dynamic; zzpaneluin=; zzpanelkey=; p_skey=b78i01A*1Yq-*TEtkbR6QRPA3dIZIrjhnmmAyz8UW7g_; pt4_token=TZ8e*Y1mPItaWRJU4ROK62LyO5gycJyNsDHyXA-GV4A_; p_uin=o1246747572" } reqt.method = "POST" end local code, headers, status = socket.skip(1, http.trequest(reqt)) return table.concat(t), code, headers, status end return fabiao(con) end) -- 延時n秒 local function sleep(n) if n<=0 then return end local cur = os.time() while os.time() - cur ~= n do end end local body,ret = http.request(getUrl("list18_1.htm")) body = mylib.gb2312toUtf8(body) local filter = {} filter["/jokehtml/ym/201602142231174.htm"] = 0 filter["/jokehtml/ym/2016020308024982.htm"] = 0 function getCon(body) for w in string.gmatch(body, "href=\"(.-)\"") do if string.find(w,".*%d.htm") then local body,ret = http.request(getUrl(w)) if(body and #body>1 and not filter[w]) then body = mylib.gb2312toUtf8(body) if body:find("<P>") then for w in string.gmatch(body, "<[pP]>(.-)</[pP]>") do local s,_ = string.gsub(w,"<[aA].*</[aA]>","") s = string.gsub(s,"<BR>","\n") s = string.gsub(s,"<[spanSPAN]>.-</[spanSPAN]>","") s = string.gsub(s,"%d+、","") if(#s>3) then s = s .. "\n\n-------- 來自小強的爬蟲 --------" end -- print(s) local b,r = QQfabiao(s) sleep(60) end else getCon(body) end end end end end getCon(body)