BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

[邀请]我正在做一个百度贴吧删贴脚本,欢迎有兴趣的朋友一起加入
首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
cst05001 (哎……)
精灵王
打工青年



UID:529121
注册:2007-2-15
最后登录: 2008-08-29
帖子:368
精华:0

可用积分:448 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


[推广] 顶部
1楼 发表于 2008-7-5 11:29 
大家好,我正在做一个百度贴吧删贴精灵。

删贴精灵的作用是这样的:
监测贴吧是否有不该有的帖子,如果有,则删除之。

打算先用shell实现。
采用脚本语言的缘故是因为我认为监测贴吧这种事情对效率的要求并不高,而且容易修改。


贴吧守护精灵思路:

功能:监测贴吧是否有不好的帖子,有则删之
原理:关键字比对
配置:文本文件配置
关键技术:cookie保存和发送(已解决) 监测页面接口(半解决) 正则表达式


脚本流程(待定):
注:下面括号内为本人认为的关键技术
具有删贴权限的用户登录(curl)=>获取cookie(curl)=>获取贴吧标题(sed + awk + grep)=>从本地读取黑名单配置(cat)=>把标题和黑名单进行比对(grep)=>如果标题和黑名单比对成功,则向百度处理页面发送删贴请求(curl)

此外,对百度页面删贴和登录的处理接口,可以用Firefox的FireBug插件进行监测。


我会在近期不定期的跟帖我的思路和代码。(最近期末考混文凭,所以是不定期。)

我的MSN:cst05001@hotmail.com
我的GT:cst05001@gmail.com
欢迎对这个有兴趣的朋友和我交流哦~~
欢迎大家提出意见。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
cst05001 (哎……)
精灵王
打工青年



UID:529121
注册:2007-2-15
最后登录: 2008-08-29
帖子:368
精华:0

可用积分:448 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


[推广] 顶部
2楼 发表于 2008-7-5 11:31 
百度贴吧删贴机制

删贴由同一页面进行处理。
只要具有删贴权限的用户对其提供kz值即可。
kz值就是帖子的key word。
大家不理解可以分析下贴吧源码
http://tieba.baidu.com/linux


这里是提取kz值和对应帖子的代码模型:

#!/bin/bash

curl http://tieba.baidu.com/linux -o tmp.html
echo 'Get html done .'
cat tmp.html | grep 'class=t' | awk -F 'kz=' '{print $2}' | awk -F '\"' '{print $1}' > kz.txt
cat tmp.html | grep 'class=t' | awk -F '_blank >' '{print $2}' | awk -F '<' '{print $1}' > title.txt

[ 本帖最后由 cst05001 于 2008-7-5 11:33 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
寂寞烈火   帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
UID:187152
注册:2004-10-1
最后登录: 2008-08-30
帖子:23843
精华:5

可用积分:12668 (大富大贵)
信誉积分:110
空间积分:621 (稍有积蓄)
专家积分:87 (本版)

来自:北京海淀
状态:...在线...

[个人空间] [短信] [博客]


[推广] 顶部
3楼 发表于 2008-7-5 11:45 
楼主是百度公司的?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


CYGWIN_NT-5.1 a5732224882a41b 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin
GNU bash, version 3.2.39(20)-release (i686-pc-cygwin)

空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
walkerxk
大天使
还是不能上网!难道要等残奥 ...



UID:351339
注册:2005-12-18
最后登录: 2008-08-30
帖子:2281
精华:0

可用积分:5267 (富足长乐)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...保密...

[个人空间] [短信] [博客]


[推广] 顶部
4楼 发表于 2008-7-5 11:48 
应该只是一个吧主,厉害,佩服你一下,不是你的水平,而是你的敬业,还有解决问题的灵活性。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

开源资源:
软件下载http://software.lupaworld.com
开源镜像http://mirror.lupaworld.com
手册中心http://man.lupaworld.com
欢迎大家访问,并提出建议和意见。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
cst05001 (哎……)
精灵王
打工青年



UID:529121
注册:2007-2-15
最后登录: 2008-08-29
帖子:368
精华:0

可用积分:448 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


[推广] 顶部
5楼 发表于 2008-7-5 12:02 
这段代码实现了解析百度贴吧页面
并且把title和kz值放入数组
下段代码晚上或者明天再继续写

吃饭去了。。下午要复习组成原理和数学
三流学校的学生日子难混……

#!/bin/bash

#Get the page source and put it into file tmp.html
curl [url]http://tieba.baidu.com/linux[/url] -o tmp.html

#Get the kz from file tmp.html and put it into file kz.txt
cat tmp.html | grep 'class=t' | awk -F 'kz=' '{print $2}' | awk -F '\"' '{print $1}' > kz.txt
#Get the title from file tmp.html and put it into file title.txt
cat tmp.html | grep 'class=t' | awk -F '_blank >' '{print $2}' | awk -F '<' '{print $1}' > title.txt

#Read the kz from  file kz.txt and put it into the array kz
#Read the title from  file title.txt and put it into the array title
#One page has 50 titles
kz=()
title=()
for index in {1..50}; do
        kz[$index]=`cat kz.txt | head -n $index | tail -n 1`
        title[$index]=`cat title.txt | head -n $index | tail -n 1`
done




您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
无声无息   帅哥 (无声无息)
天使



UID:550054
注册:2007-4-10
最后登录: 2008-08-31
帖子:1213
精华:0

可用积分:4171 (小富即安)
信誉积分:100
空间积分:3 (白手起家)
专家积分:0 (本版)

来自:广州
状态:...在线...

[个人空间] [短信] [博客]


[推广] 顶部
6楼 发表于 2008-7-5 15:23 
支持!继续更新



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

listenpie蜂蜜小店,来自新西兰的天然产品。

--------------华丽的分割线--------------------
debian 4.0 GNU/Linux 2.6.9
bash-3.1.17 Awk-3.1.3 sed-4.1.5 grep-2.5.1
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
cst05001 (哎……)
精灵王
打工青年



UID:529121
注册:2007-2-15
最后登录: 2008-08-29
帖子:368
精华:0

可用积分:448 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


[推广] 顶部
7楼 发表于 2008-7-6 00:44 
晚上分析了下贴吧删贴的方法

这里是删贴的header
我用wireshark截取的

1798        443.643518        192.168.1.6        220.181.38.80        HTTP        GET /f?ct=369098752&word=linux&cm=12&tn=baiduManagerSubmit&lm=3171&z=428601111&sc=0&rs5=472290167&rs6=3707595763&bu=/f%3Fkw%3Dlinux HTTP/1.1

百度不管是删贴还是发帖还是其他操作,统一交给http://tieba.baidu.com/?这个url处理,通过传入不同的参数,调用不同的功能。
目前知道z表示帖子的kz(id),其他功能未知。

不知道大家对这方面有什么建议或者资料?

不知道curl是否能直接调用源代码里面的js?因为 百度删贴的link是调用js实现的。
或者不知道lynx是否能容易实现?

如果真的不行,就真的老老实实分析监听下来的header的每个参数了……



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
walkerxk
大天使
还是不能上网!难道要等残奥 ...



UID:351339
注册:2005-12-18
最后登录: 2008-08-30
帖子:2281
精华:0

可用积分:5267 (富足长乐)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...保密...

[个人空间] [短信] [博客]


[推广] 顶部
8楼 发表于 2008-7-6 00:59 
有时候很多参数是没用的,你试试直接在浏览器里面输入这个url看看。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

开源资源:
软件下载http://software.lupaworld.com
开源镜像http://mirror.lupaworld.com
手册中心http://man.lupaworld.com
欢迎大家访问,并提出建议和意见。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
cst05001 (哎……)
精灵王
打工青年



UID:529121
注册:2007-2-15
最后登录: 2008-08-29
帖子:368
精华:0

可用积分:448 (白手起家)
信誉积分:100
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


[推广] 顶部
9楼 发表于 2008-7-6 02:03 


QUOTE:
原帖由 walkerxk 于 2008-7-6 00:59 发表
有时候很多参数是没用的,你试试直接在浏览器里面输入这个url看看。

参数问题已经解决。
下次再附上解决方法。

今晚之前由于对参数太迷惑,所以跳过。
先做黑名单比对部分。
已经完成。
附上代码和截图:

#!/bin/bash

#Get the page source and put it into file tmp.html
curl http://tieba.baidu.com/linux -o tmp.html

#Get the kz from file tmp.html and put it into file kz.txt
cat tmp.html | grep 'class=t' | awk -F 'kz=' '{print $2}' | awk -F '\"' '{print $1}' > kz.txt
#Get the title from file tmp.html and put it into file title.txt
cat tmp.html | grep 'class=t' | awk -F '_blank >' '{print $2}' | awk -F '<' '{print $1}' > title.txt

#Read the kz from  file kz.txt and put it into the array kz
#Read the title from  file title.txt and put it into the array title
#One page has 50 titles
kz_list=()
title_list=()
for index in {1..50}; do
        kz_list[$index]=`cat kz.txt | head -n $index | tail -n 1`
        title_list[$index]=`cat title.txt | head -n $index | tail -n 1`
done

row=`wc -l black_title.txt | awk '{print $1}'`
if [ $row -eq 0 ]; then
        echo 'Nothing in the black_title .'
fi

for black_title in `cat black_title.txt`; do
        for title in ${title_list[*]}; do
                echo $title | grep $black_title >> /dev/null
                if [ $? -eq 0 ]; then
                        echo "Black_title $title found ."
                fi
        done
done

black_title.txt:

aaaa
bbbb
linux

我把“linux”设置为过滤字符-__-|||



[ 本帖最后由 cst05001 于 2008-7-6 02:07 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
版主 cjaizss   帅哥
版主-精灵使



UID:272747
注册:2005-5-26
最后登录: 2008-08-30
帖子:4695
精华:1

可用积分:1618 (家境小康)
信誉积分:100
空间积分:0 (白手起家)
专家积分:5 (本版)

状态:...保密...

[个人空间] [短信] [博客]


[推广] 顶部
10楼 发表于 2008-7-6 02:08 
不错,顶一下



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

二十几年来最大的遗憾,并不是少赚了的钱,也不是少交了友,而是永远没有机会为最钟爱的数学真正做点什么,或许这会是这一生的遗憾
做个合格的电子工程师,其实很难

空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » 论坛 » Shell »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.081094 second(s), 5 queries , Gzip enabled