口袋数码论坛's Archiver

fq1124 发表于 2008-4-29 08:31

再顶一下,英国金融时报的模板实在是太帅气了~~不知可否将标题改为英文,现在好像是中文标题~~

allon_pan 发表于 2008-4-29 12:01

[quote]原帖由 [i]fq1124[/i] 于 2008-4-29 08:31 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5871577&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
再顶一下,英国金融时报的模板实在是太帅气了~~不知可否将标题改为英文,现在好像是中文标题~~ [/quote]

谢谢。从脚本技巧来说,有三个模板是我比较喜欢的。一个是这个“英国金融时报”模板,它结构清晰、代码简洁,可维护性强。当然,这跟英国金融时报网站本身很有条理分不开。另外一个是“华声图片”的模板,原因相反,华声论坛网页代码乌烟瘴气、乱七八糟,从一堆垃圾当中把要的图片揪出来,真的需要一点点运气。最后一个是“凤凰资讯-透视台海”,它通过子函数递归调用,解决了目标网页不知道有多少个“下一页”的问题。

将标题改为英文,技术上不存在问题。主要是该网站有一部分文章没有英文版(中文作家写的随笔、对中国学者的采访等等),会导致结果出错。不过英文标题,在正文里是有的。

allon_pan 发表于 2008-4-29 12:08

有心自己写模板的同学建议好好学习这4个例子。完全看懂了,足以解决90%网站的模板:

A template wizard : beginers welcomes
[url]http://www.clubspb.com/forum/viewtopic.php?t=1854&sid=7362d6120616529b6d1486db0655b32c[/url]
Creating templates: Part 1. RSS-based channels.
[url]http://www.clubspb.com/forum/viewtopic.php?t=1801&sid=7362d6120616529b6d1486db0655b32c[/url]
Creating templates: Part 2. If no RSS available.
[url]http://www.clubspb.com/forum/viewtopic.php?t=1802&sid=7362d6120616529b6d1486db0655b32c[/url]
SPB Insight documentation
[url]http://www.spbinsight.com/documentation.php[/url]

allon_pan 发表于 2008-4-29 12:26

[quote]原帖由 [i]kyty[/i] 于 2008-4-28 18:10 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5868553&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
楼主知不知道PC端有没有什么软件可以像SPB Insight这样可以定义全文模版的读RSS软件?
我现在用的是FeedDemon,但自定义的功能还是太弱了。 [/quote]

其实我也想知道答案。我也想有一个。我在SPB Insight论坛发帖问了。

[url]http://www.clubspb.com/forum/viewtopic.php?t=16720[/url]

[[i] 本帖最后由 allon_pan 于 2008-4-29 12:32 编辑 [/i]]

lamplighter 发表于 2008-4-29 12:27

[quote]原帖由 [i]allon_pan[/i] 于 2008-4-29 12:01 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5872749&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]


谢谢。从脚本技巧来说,有三个模板是我比较喜欢的。一个是这个“英国金融时报”模板,它结构清晰、代码简洁,可维护性强。当然,这跟英国金融时报网站本身很有条理分不开。另外一个是“华声图片”的模板,原因相 ... [/quote]


确实,实在是太 cool 了。
我反反复复把代码研读了好多遍,呵呵,实在是太感谢了。
有些一疑惑请教一下楼主和其他高人,没学过编程。
● var enghref = article.url.split("&")[0].replace("story.jsp","story_english.jsp");
这段类似的语句(专业术语怎么说不知道,别笑哈。:))),这种类型的东东,在哪里可以学得到?
今天还看到一个
for (var n = titleNode.nextSibling; n && (n.nodeName != "br"); n = n.nextSibling)
不知道还有多少其他的东东,只有看到现成的模板,仔细研究,才知道原来还有这些代码来实现自己想要的功能。但是如果现成的模板里面没有这些语句,我在那里可以学到? 指点一下迷津吧。谢谢~~~
● 另外,做一个模板的过程中,用getElementsBy……,insight_log.txt里面老是说什么 object undefined ,说这段getElementsBy……代码有问题,但是我明明是和楼主或者其他我试过可以成功下载的模板里面改过来的。真是奇怪。不知道这个object undefined 之类的到底是什么东东。
我找出代码来了:
        >> Parse Article
          Downloading document "http://www.nytimes.com/2008/04/29/world/asia/29torch.html?partner=rssnyt&emc=rss"
          ** CInetJob constructed
          Downloading error: Sending request failed or canceled
          exception:
            TypeError: <input>:3: Tried to use undefined as an object
            code: article.body += d.getElementsById("articleBody").innerHTML;
          Exception is thrown: article not added
        << Parse Article
难道是里面那个网页我这不能下载的原因?晕。请指点。

另外,附上 我依葫芦画瓢弄出了的 新浪每日评论和FT每日英语的模板,回报社会,以示对楼主这样的好人的感谢。
谢谢了。

allon_pan 发表于 2008-4-29 12:59

[quote]原帖由 [i]lamplighter[/i] 于 2008-4-29 12:27 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5872913&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]



确实,实在是太 cool 了。
我反反复复把代码研读了好多遍,呵呵,实在是太感谢了。
有些一疑惑请教一下楼主和其他高人,没学过编程。
● var enghref = article.url.split("&")[0].replace("story.jsp","st ... [/quote]

谢谢lamplighter,您终于问到痒处了,也证明您入门了。

1. ● var enghref = article.url.split("&")[0].replace("story.jsp","story_english.jsp");
这个是字符串函数, 对article.url这个字符串用Split函数,返回一个由“&”分隔开的数组,再对这个数组的第一个元素使用replace函数,得到英文版链接。

大部分常用XML对象可以在[url]http://www.spbinsight.com/documentation.php[/url]里看到。而方法、函数、语句其实都是Javascript,1楼有个入门教程,有一节介绍字符串函数,就讲到过replace,[url]http://www.prglab.com/blog/js-tutorial/js-string[/url]

当然更多时候用的是Google,直接搜索 Javascript 字符串函数,Javascript 循环语句,一般能找到答案。

2. object undefined
是个常见错误,说你赋值的对象是不存在的。getElementsById(name)返回的是一个数组,所以应该是article.body += d.getElementsById("articleBody")[0].innerHTML;

getAttribute(attributeName) - returns the string value of an attribute by it's name. If the attribute not found, returns undefined.
getElementsByClassName(name) - returns array of nodes that have corresponding class (For example, <div class='ArticleBody'> ).
getElementsById(name) - returns array of nodes with corresponding id (For example, <div id='ArticleBody'>).
getElementsByTagName(name) - returns array of nodes with corresponding tag name. (For example, all tags <b>).
getElementsByAttr(tagname, attrname, attrvalue) - returns array of nodes with corresponding tag name and attribute. (For example, all tags <td class="main_page"> is found by issuing doc.getElementsByAttr("td", "class", "main_page")).

另外,谢谢分享。已把你的模板添加到1楼。今天发现学习材料那个附件下载远远超过了华声图片模板。哈哈,欣慰啊。

[[i] 本帖最后由 allon_pan 于 2008-4-29 13:11 编辑 [/i]]

lamplighter 发表于 2008-4-29 14:25

[quote]原帖由 [i]allon_pan[/i] 于 2008-4-29 12:59 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5873088&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]


谢谢lamplighter,您终于问到痒处了,也证明您入门了。

1. ● var enghref = article.url.split("&")[0].replace("story.jsp","story_english.jsp");
这个是字符串函数, 对article.url这个字符串用Split函数 ... [/quote]

哈,谢谢指点。再学习。花了一个星期了,天天搞这个,不务正业,从看到你这贴开始。我的老弱电脑都快被wm模拟器拖死了,老是高CPU。
再努力,希望能真正掌握这个有趣的小东东。有问题再来受教哈。

:)))

allon_pan 发表于 2008-4-29 14:45

呵呵,共勉。我在1楼说过了,我不是什么高手。只不过是4.20才开始学习SPB Insight的菜鸟。我比你好一点点的是,大学里学过C语言。

像你这样没有任何编程基础的,都能1星期就写出自己想要的模板,证明这个东西确实是老少皆宜的,一点都不难。

一个人能做的模板太有限了,大家一起学,一起做,一起交流。做模板本身是有趣的脑力体操,做出来与大家分享也很有成就感,爽啊。

[[i] 本帖最后由 allon_pan 于 2008-4-29 14:53 编辑 [/i]]

iancrow 发表于 2008-4-29 18:46

感谢楼主分享。

lamplighter 发表于 2008-4-29 23:12

[quote]原帖由 [i]allon_pan[/i] 于 2008-4-29 14:45 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5873664&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
呵呵,共勉。我在1楼说过了,我不是什么高手。只不过是4.20才开始学习SPB Insight的菜鸟。我比你好一点点的是,大学里学过C语言。

像你这样没有任何编程基础的,都能1星期就写出自己想要的模板,证明这个东西确实 ... [/quote]

老大,是不是有些网页不能或者没法用spb insigt来作?我怎么老是弄不成?是不是和网页结构 有关系?某种结构的网页就不能用来作模板?还是理论上,所有的网页都可以做?
搞来搞去,老不成功。 晕了。

臭屁洋 发表于 2008-4-29 23:16

我太喜欢Ftchinese中英文版的全文模板了!谢谢楼主!并表示崇高的敬意!

allon_pan 发表于 2008-4-29 23:43

[quote]原帖由 [i]lamplighter[/i] 于 2008-4-29 23:12 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5876945&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]


老大,是不是有些网页不能或者没法用spb insigt来作?我怎么老是弄不成?是不是和网页结构 有关系?某种结构的网页就不能用来作模板?还是理论上,所有的网页都可以做?
搞来搞去,老不成功。 晕了。 [/quote]


理论上应该所有的网页都可以,因为所有的网页都有个<body>,大不了把整个body抓下来。有些RSS输出格式可能有点问题,那么就不要当他是RSS的,自己来抓index page。

可以把代码贴出来一起研究。

[[i] 本帖最后由 allon_pan 于 2008-4-29 23:48 编辑 [/i]]

lamplighter 发表于 2008-4-30 02:04

[quote]原帖由 [i]allon_pan[/i] 于 2008-4-29 23:43 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5877196&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]



理论上应该所有的网页都可以,因为所有的网页都有个,大不了把整个body抓下来。有些RSS输出格式可能有点问题,那么就不要当他是RSS的,自己来抓index page。

可以把代码贴出来一起研究。 [/quote]


失败了N个,终于弄好了一个。我明天看看,NYT或者BBC的哪里错了,这两天老没弄成他们。也许是我胃口太大了。
晚了,先睡觉了。真是不务正业啊。

allon_pan 发表于 2008-4-30 11:57

[quote]原帖由 [i]lamplighter[/i] 于 2008-4-30 02:04 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5877714&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]



失败了N个,终于弄好了一个。我明天看看,NYT或者BBC的哪里错了,这两天老没弄成他们。也许是我胃口太大了。
晚了,先睡觉了。真是不务正业啊。 [/quote]

这两个站点模板在 [url=http://www.spbinsight.com/template_edit.php]http://www.spbinsight.com/template_edit.php[/url] 上有。贴一个BBC的你看一下。

<parse_article>
<![CDATA[
        var d = new Document(article.url);
        var iDivs = d.getElementsByAttr("div", "class", "mxb");
        var iDiv = iDivs[0];
        var iTr = iDiv.parentNode.parentNode;
        var iTd = iTr.nextSibling.firstChild;
        var body = iTd.innerHTML;
        body = body.split("<!-- E BO -->")[0]; // Truncate everything after the end.
        article.body = body;
  ]]>
  </parse_article>

老规矩,天益收到1楼索引 :)  为了防止()变成表情符,代码中的)我都换成全角了。

[[i] 本帖最后由 allon_pan 于 2008-4-30 12:02 编辑 [/i]]

西瓜太烂 发表于 2008-4-30 13:08

楼主,这个模板要怎么用啊,我用了模板,下载的文章都无法显示内容啊?都是空白页面夹杂着几个乱码

airxi2001 发表于 2008-4-30 13:14

为什么太平洋电脑网的任何网页抓不下来

高手帮忙写个这个,基于rss的,应该比较简单,可是我做了个模板试来试去总是只有标题

[url]http://www.pconline.com.cn/autopublish/rss/000006079.xml[/url]

还有使用了天涯论坛的模板,觉得下载东西太多,费电又费时,能不能只显示发帖的内容,回帖的内容过滤掉。

高手们,求教了。

allon_pan 发表于 2008-4-30 14:22

[quote]原帖由 [i]西瓜太烂[/i] 于 2008-4-30 13:08 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5879701&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
楼主,这个模板要怎么用啊,我用了模板,下载的文章都无法显示内容啊?都是空白页面夹杂着几个乱码 [/quote]

你用的是WM6.1吧?或者是英文版的ROM,在本版搜索SPB Insight,会看到类似问题的讨论。

allon_pan 发表于 2008-4-30 14:31

[quote]原帖由 [i]airxi2001[/i] 于 2008-4-30 13:14 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=5879747&ptid=544156][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
高手帮忙写个这个,基于rss的,应该比较简单,可是我做了个模板试来试去总是只有标题

[url]http://www.pconline.com.cn/autopublish/rss/000006079.xml[/url]

还有使用了天涯论坛的模板,觉得下载东西太多,费电又费时,能 ... [/quote]

这个有点众口难调,有的人要完整的,有的人只要1楼,有的人要“只看楼主”,我还是倾向全部抓了。3GOne 有你想要的天涯论坛。[url]http://3gone.net/subindex.asp?class1=lt[/url]

你说的那个RSS不好搞,因为它是把family, dc, itbbs 等完全不一样版式的网页放到一起,没法用相同的代码抓取。只能是针对手机做一个,相机做一个。。。这里有太平洋网的内容,照着4楼简单改一下就可以了。[url]http://pda.3gpda.cn/listnews.php?category=%BF%C6%BC%BC%CA%FD%C2%EB[/url]

[[i] 本帖最后由 allon_pan 于 2008-4-30 14:40 编辑 [/i]]

lalagod 发表于 2008-4-30 14:31

更新很快,值得关注啊.谢谢.
可惜没有更具体的例子.
能把那四个英文版本搞成中文例子就好了.

allon_pan 发表于 2008-4-30 16:42

应网友要求,1楼新增“财经网-每日要闻”模板。这个网页:[url]http://www.caijing.com.cn/todayspecx/rss.xml[/url]

页: 1 2 3 [4] 5 6 7 8 9 10 11 12 13

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.