#然后作者名字匹配又如何?我就是我2 写了:接受批评. 当时确实没有想到这个问题.页面分析真是失败.哎
代码: 全选
sed -rn '/>公告<\/b>/,/>主题<\/b>/d;/<b>置顶.<\/b>/d;/<b>投票.<\/b>/d;s/.*"topictitle">(.{1,10}).*<\/a>.*/\1\.../p' forum.dat | head -5 >title.dat
关注shell区最新回复/主题·脚本练习
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 关注shell区最新回复/主题·脚本练习
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: 关注shell区最新回复/主题·脚本练习
得重新设计算法.fnan 写了:#然后作者名字匹配又如何?我就是我2 写了:接受批评. 当时确实没有想到这个问题.页面分析真是失败.哎
代码: 全选
sed -rn '/>公告<\/b>/,/>主题<\/b>/d;/<b>置顶.<\/b>/d;/<b>投票.<\/b>/d;s/.*"topictitle">(.{1,10}).*<\/a>.*/\1\.../p' forum.dat | head -5 >title.dat
以前没注意到"置顶"和"公告"的小图标



不用理会投票什么的. 只有两种特殊主题 announce 和 sticky
只需要统计两种小图标一共出现的次数就行了. 当然要减2 ,因为最下面的是示例 "置顶"和"公告" 各有一
# 不登陆,抓到的页面,主题的小图标都是 灰色 即"已读"
[bash]
#!/bin/bash
[ -f ~/.forumstatus.dat ] || touch ~/.forumstatus.dat
old=`cat ~/.forumstatus.dat`
[ -d /tmp/forumshell ] || mkdir /tmp/forumshell
cd /tmp/forumshell
while : ; do
curl -s "viewforum.php?f=21" 2>/dev/null >forum.dat
delnum=$(expr $(grep -c announce_read.gif forum.dat ) + $(grep -c sticky_read.gif forum.dat ) - 2)
shownum=5
begin=`expr $delnum + 1`
end=`expr $delnum + $shownum`
sed -rn 's/.*"topictitle">(.{1,10}).*<\/a>.*/\1\.../p' forum.dat | sed -n "$begin,$end"p > title.dat
sed -nr 's/.*class="topicdetails"><.*>(.*)<\/a>$/\1/p' forum.dat | sed -n "$begin,$end"p >name.dat
sed -nr 's/.*"topicdetails" style.* (.*)<\/p>/@\1/p' forum.dat | sed '1~2d' | sed -n "$begin,$end"p >last.dat
new=`awk '{printf $0 ;getline <"name.dat";print}' title.dat | awk '{printf $0 ;getline <"last.dat";print}'`
[ "$new" = "$old" ] || notify-send "$new"
old="$new"
echo "$old" >~/.forumstatus.dat
sleep 300
done
[/bash]
可能还是失败...

苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 关注shell区最新回复/主题·脚本练习
不是找到公告贴在>公告<\/b>/,/>主题<\/b>之间吗,算出公告置顶贴总数,作为参数传给sed选行,比图标可靠。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: 关注shell区最新回复/主题·脚本练习
那个相当复杂.我考虑过的.fnan 写了:不是找到公告贴在>公告<\/b>/,/>主题<\/b>之间吗,算出公告置顶贴总数,作为参数传给sed选行,比图标可靠。
不打印的主题除了公告和置顶, 还有置顶的投票. 在不考虑投票的情况下是可以的.
公告主题数量是可以通过 >公告<\/b>/,/>主题<\/b> 计算出来的. 置顶主题也只需要统计 >置顶.<\/b> 即可.
投票主题没有特殊之处, 可能作为置顶主题(没有置顶二字),也可能是普通主题, 单纯的从标题入手,无法对两者进行区分 这个问题在老旧版本一区能够得到体现
使用图标能够进行这种区分
关于图标是否可靠.
在目前phpbb的默认论坛css style下, 它属于topic的组成部分. 在不取消以图标表示 read/unread之前是它有效的,可靠的.
topic由以下元素组成:
要不要减去2, 要看具体的css style.topic类型及状态(以图标表示 read/unread 以及它是announce 还是sticky 或者是普通主题 ) 标题 作者 发表时间 回复总数 阅读次数 最新回复 最新回复时间
参考了同样是使用phpbb的论坛
http://www.phpbbchina.com/forum/viewforum.php?f=1
http://www.phpbb.com/community/viewforu ... c74d0b6ef4
http://www.mysnooker.cn/bbs/forum76.htm ... ff9f3070af
http://www.archlinuxcn.org/viewforum.php?f=43
不过简单使用gif显得有点武断.
styles\/.*\/imageset\/announce_.*
styles\/.*\/imageset\/sticky_.*
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
- sunfish
- 帖子: 989
- 注册时间: 2008-05-03 1:53
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: 关注shell区最新回复/主题·脚本练习
谢谢.sunfish 写了:用命令可以实现的,
join 命令可以将两个文件有相同资料的行拼接在一起
paste命令直接按行拼接文件

苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 关注shell区最新回复/主题·脚本练习
#如此就不重要了,难得一见的出现又何妨,多设两个显示主题就是,可大为简化算法。投票主题没有特殊之处, 可能作为置顶主题(没有置顶二字),也可能是普通主题, 单纯的从标题入手,无法对两者进行区分
paste 把行分得太远了,不介意的很能简化代码。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: 关注shell区最新回复/主题·脚本练习
难得一见的出现又何妨

paste是用tabs来分的. 所以还是要tr一下.
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
- sunfish
- 帖子: 989
- 注册时间: 2008-05-03 1:53
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: 关注shell区最新回复/主题·脚本练习
sunfish 写了:可以改分割符的,看man吧很短

paste -d "" name.dat last.dat
第1000贴了

苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: 关注shell区最新回复/主题·脚本练习
你是说抓取最新投票主题?fnan 写了:现在论坛里有没有投票贴,看一下。
以图标来区分是能够抓得到非sticky的投票的.恕我多言
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 关注shell区最新回复/主题·脚本练习
#如果不出现在置顶位置是没有意义的。我就是我2 写了:你是说抓取最新投票主题?fnan 写了:现在论坛里有没有投票贴,看一下。
以图标来区分是能够抓得到非sticky的投票的.恕我多言
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。