风讯官方论坛

首页 » FoosunCMS交流区 » 插件讨论 » 能把这个搞定,我服了你!
yifan - 2005-11-9 20:08:00

http://www.hgtoday.com/js/news.htm怎么采集?


来自http://www.hgtoday.com/的今日新闻

bala - 2005-11-9 22:38:00

变态式的编程习惯

008 - 2005-11-10 08:29:00
这个采集也不难
chning - 2005-11-10 10:41:00

测试了一下,也不难~~~


采集对象页:http://www.hgtoday.com/js/news.htm


列表内容:document.write("<TABLE[列表内容]document.write("</table>")


列表URL:document.write("·<a href='[列表URL]' target=_blank><font color=#000000>


其他部分不用写出来了吧?


[此贴子已经被作者于2005-11-10 11:54:45编辑过]

yifan - 2005-11-10 18:42:00

老大,你有没有试过,我用你的方法试过还是不行!


[此贴子已经被作者于2005-11-10 19:05:45编辑过]

chning - 2005-11-11 10:02:00

我也测试了一下,缺少有问题,


不过页面内容是读取下来了的,


就是取新闻列表的地方老取不出来~~~

yifan - 2005-11-11 13:27:00

怎么办,有谁帮帮看一下。

chning - 2005-11-11 17:46:00

现在有空,又看了一下,需要修改一下程序,可以搞定:


打开collecting.asp,找到450行左右,


If InStr(ResponseAllStr,ListHeadSetting)>0 And InStr(ResponseAllStr,ListFootSetting) Then
  NewsListStr = GetOtherContent(ResponseAllStr,ListHeadSetting,ListFootSetting)
Else
  NewsListStr = ResponseAllStr
End If


修改为:


If ListHeadSetting="" Or ListFootSetting="" or ListHeadSetting="<body" Or ListFootSetting="</body>" Then
  NewsListStr = ResponseAllStr
ElseIf InStr(ResponseAllStr,ListHeadSetting)>0 And InStr(ResponseAllStr,ListFootSetting) Then
  NewsListStr = GetOtherContent(ResponseAllStr,ListHeadSetting,ListFootSetting)
Else
  NewsListStr = ResponseAllStr
End If


把新闻列表内容清空,什么也不要设置


列表URL:·<a href='[列表URL]' target=_blank>


标题:<TITLE>[新闻标题]</TITLE>


内容:<table border='0'><tr><Td class='newstitle'>[新闻内容]</td></tr></table></td>
                    </tr>
          <TR>


OK了,我测试成功!

yifan - 2005-11-11 20:40:00

你真是强!谢了先!


这一改会不会影响其它的采集?

chning - 2005-11-12 10:56:00

这样的修改一下对其他采集不产生影响的,


并且其他采集也会更加好用,


为了同步,最好打开SiteThreeStep.asp,找到135行,


将:


Dim ResponseAllStr,NewsListStr
ResponseAllStr = GetPageContent(ObjURL)


*******************'此处省略***字


NewsListStr = Replace(Replace(NewsListStr,"""","%22"),"'","%27")


部分替换为:


Dim ResponseAllStr,NewsListStr
ResponseAllStr = GetPageContent(ObjURL)
If ListHeadSetting="" Or ListFootSetting="" or ListHeadSetting="<body" Or ListFootSetting="</body>" Then
NewsListStr = ResponseAllStr
ElseIf InStr(ResponseAllStr,ListHeadSetting)>0 And InStr(ResponseAllStr,ListFootSetting) Then
NewsListStr = GetOtherContent(ResponseAllStr,ListHeadSetting,ListFootSetting)
Else
NewsListStr = ResponseAllStr
End If
NewsListStr = Replace(Replace(NewsListStr,"""","%22"),"'","%27")


这样在向导里面也功能加强了。

1
查看完整版本: 能把这个搞定,我服了你!