require("gb2312toutf8")
local http = require "socket.http"
local surl = "http://www.jokeji.cn"
local function getUrl(c)
if c:sub(,) == "/" 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=; RK=i3cumo4Hct; pgv_pvi=; p_o2_uin=;
ptui_loginuin=; qqmusic_uin=; qqmusic_key=;
qqmusic_fromtag=; pgv_info=ssid=s5823528911; skey=@dbKiNxZAF; ptisp=ctc;
uin=o1246747572; QZ_FE_WEBP_SUPPORT=; cpu_performance_v8=; __Q_w_s__QZN_TodoMsgCnt=;
__Q_w_s_hat_seed=; __Q_w_s__appDataSeed=; 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(, http.trequest(reqt))
return table.concat(t), code, headers, status
end
return fabiao(con)
end)
-- 延时n秒
local function sleep(n)
if n<= 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"] =
filter["/jokehtml/ym/2016020308024982.htm"] =
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> 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>) then
s = s .. "\n\n-------- 来自小强的爬虫 --------"
end
-- print(s)
local b,r = QQfabiao(s)
sleep()
end
else
getCon(body)
end
end
end
end
end
getCon(body)

最新文章

  1. mysql的优化
  2. HTML5的Video标签的属性,方法和事件汇总
  3. 分享SQL Server 2012/2014内存数据库,AlwaysOn,参考教材与网上总结
  4. java线程内存模型,线程、工作内存、主内存
  5. C# this.invoke()作用 多线程操作UI
  6. linux下vim命令详解
  7. junit适配器模式应用
  8. jQuery EasyUI 数据网格 - 启用行内编辑(转自http://www.runoob.com/jeasyui/jeasyui-datagrid-datagrid12.html)
  9. 判断一个Bitmap图像是否是.9图
  10. CSS的!important修改权重
  11. Thymeleaf 3与Spring MVC 4 整合配置
  12. ASP.NET之.NET FrameWork框架
  13. 用php+ajax新建流程(请假、进货、出货等)
  14. [Day21]异常
  15. 百川sdk----自己的WebViewClient不被执行【废弃,新版本百川已修复此问题】
  16. centos7.6+samba+设置可读可写不可删权限
  17. Asp.Net JsonResult重写
  18. 【Python】混合驱动实例
  19. inno setup 软件打包
  20. [转]同步对象Event的用法

热门文章

  1. UVa 10891 Game of Sum (DP)
  2. Atom 基本使用
  3. 带着问题看 react-redux 源码实现
  4. Apple Mach-O Linker Warning 警告解决办法
  5. HDU2824【欧拉函数性质】
  6. css 三种引用方式
  7. 【SpringCloud构建微服务系列】分布式链路跟踪Spring Cloud Sleuth
  8. IP服务-1-ARP和代理ARP
  9. java排序之冒泡排序
  10. 2017&quot;百度之星&quot;程序设计大赛 - 资格赛 寻找母串