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)

自动发表QQ空间说说的更多相关文章

  1. php模拟用户自动在qq空间发表文章的方法

    我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋友可以参考,或改进可以给我意见,代码如下: <?php //模拟get post请求函数 http:// ...

  2. 关于恶意说说自动在QQ空间转发的机制

    有些很讨厌的带链接说说,只要你在手机打开它,就会自动转发,内容极其不雅 一怒之下我决定看个究竟首先,在此页开头有此关键语句: <iframe src="http://rtb.map.q ...

  3. python基于selenium实现自动删除qq空间留言板

    py大法好,让你解放双手. 脚本环境 python环境,selenium库,Chrome webdriver驱动等. 源码 # coding=utf-8 import datetime import ...

  4. Atitit qzone qq空间博客自动点赞与评论工具的设计与实现

    Atitit qzone qq空间博客自动点赞与评论工具的设计与实现 Qzone发送评论的原理 首先,有个a标签, <a class="c_tx3" href="j ...

  5. QQ空间自动发广告解决方法

    最近空间好多人QQ都中了毒.每天我都有几十个好友刷空间话费.流量广告! QQ空间自动发广告的原因: 最近使用了刷赞或者其他QQ外挂软件(有些开发者或破解者会在这样的软件上留后门,请自己判断). 或者最 ...

  6. 技术揭秘“QQ空间”自动转发不良信息

    大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取.最近通过对一个QQ空间自动转发链接进行分析,发现该自动转发机制通过利用腾讯网站存在漏洞的页面,精心构造出利用代码获 ...

  7. 手机QQ空间自动点赞登录

    学以致用~使用 Appium 模拟人类操控手机行为 V2.0在手机上运行,目前实现以下功能: 1.小黑屋模式,一分钟内给好友发100条消息然后进了好友的小黑屋 2.定时发消息提醒对象多喝热水~ 3.对 ...

  8. mui开发app之多图压缩与上传(仿qq空间说说发表)

    欲实现效果图 提出需求点: 用户可自由添加删除替换多张图片,并且显示相应缩略图,限制为8张 用户可选择压缩图或直接上传原图功能 返回提醒用户会丢失填写的信息 下面一个个实现上述需求,从简单到复杂: 需 ...

  9. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析

    QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:https://github.com/20100507/Qzone [没有加入多线程,希望你可以参与进 ...

随机推荐

  1. 《剑指offer面试题4》替换空格——实现函数把字符串中每个空格替换成“%20”

    思路: 例如把we are happy这个字符串中所有空格替换成"%20",最直接的做法是从头开始扫苗,遇到空格就替换,并且把空格后面的字符都顺序后移.复杂度O(n^2). 重要思 ...

  2. 看后端程序员调试CORS的姿势

    # 目录 为什么有同源策略? 需要解决的问题 CORS跨域请求方案 preflight withCredentials 附:高效.优雅地调试CORS实现 为什么有同源策略?       同源策略Sam ...

  3. 洛谷P4869 albus就是要第一个出场(线性基)

    传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 线性基居然有这性质我还不知道orz 假设$n$个数的线性基中有$k$个数,那么显然共有$2^k$个不同的异或和,而其中每一个异或和的出现次数都是$2 ...

  4. Pycharm2019.1.2永久激活

    五月八日Pycharm更新至2019.1.2,小伙们是否也及时更新了呢?值得注意的是以前的激活方式已不适用于本次更新,这里分享最新的激活方法,有需要的同学请扫码关注我的公众号获取 重申:如果经济条件允 ...

  5. 黑马方法引用学习 Stream流 函数式接口 Lambda表达式 方法引用

  6. nginx,tomcat,apache三者分别用来做什么,有何区别

    1. Nginx和tomcat的区别 nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让java we ...

  7. python转换已转义的字符串

    python转换已转义的字符串 有时我们可能会获取得以下这样的字符串: >>> a = '{\\"name\\":\\"michael\\"} ...

  8. C#打开office文件,pdf文件和视频文件

    打开office文件 1 需要从网站下载dsoframer.ocx文件 2 把dsoframer.ocx文件复制到c:\windows\system32目录下 开始->运行->regsvr ...

  9. js 学习网站

    1.  Mozilla Developer Network(MDN) 这里你可以找到官方的完整的javascript参考,还有许多有用的指导,教程以及文章,从基本javascript使用到最佳实践以及 ...

  10. window server 2012R2服务器部署遇到的问题

    1. 出现问题原因:服务器的Framework4.5 未安装, 解决办法:从网上下载之后,安装,然后重启服务器即可 2. 出现问题原因:内存不足或者虚拟内存不足 解决办法:设置虚拟内存来解决,步骤如下 ...