先说说我要做什么,我打算做一个网站,这个网站只要抓取其他网站的信息(比如说获取旅游网站的宾馆定价,或者是火车票等等类似的),整理后在发布我自己的网站。
我想有两种实现途径:
1. 在服务器后端放置一个类似爬虫的程序,不断的抓取其他网站的信息,整理后放到数据库。然后在前端使用PHP把数据库的信息取出来显示给用户。          后端(爬虫) --> 数据库 --> PHP --> HTML--> 浏览器
这种方法遇到的问题是,这个后端爬虫使用什么语言来实现?而且别人的网站的有些数据是需要执行他们网站的js脚本才能获得,也就是说这种语言必须能执行脚本才行。
PHP?貌似PHP没有线程的概念,不能定时主动请求其他网站的信息。
什么语言最好呢?
而且最好能在虚拟主机上运行。2.如果第1种方法中实在找不到一种能满足以上要求的实现方法。那就选用第2种。
  就是虚拟主机上因为权限的限制不再放置爬虫程序,而是把爬虫程序放到我自己的电脑上,定期获取其他网站的信息,整理通过PHP向我自己的虚拟主机的数据库中提交数据。
这样可以在我自己的电脑上使用C语言等,但是貌似C语言对网络协议的支持又非常差,貌似MFC下游一个WebBrowser的控件,这个控件是否可以支持JS呢?像这种应该方法应该很广泛,像“去哪儿”,“爱帮”,“大旗”等需要抓取其他网站信息的网站会遇到。

解决方案 »

  1.   

    c#.net应该可以。参考http://subject.csdn.net/spider.htm
      

  2.   

    这个程序可以说要包含以下功能:
    1.尽量能运行在一个普通的虚拟主机上
    2.能定期去抓取其他网站网页
    3.有能解析执行javascript的库
      

  3.   


    1、2PHP可以满足要求,但是3不行,现在的搜索引擎蜘蛛都没办法完美执行JS
      

  4.   

    像我这个程序,如果不能执行javascript的话,基本上没有用了,因为大部分是动态数据,必须通过javascript才能得到的
      

  5.   

    你说的估计google都不一定能做到
      

  6.   


    lz太理想化了!1,2实现都没问题!至于js的解析,需要针对不同的站点有不同的方式!没有哪种是通用的!------------------测试哥的签名--------------------------
    哥默默的低下头,不是哥修养好,而是哥在找砖头!(哥又回来了)
    --------------------------------------------------------
      

  7.   

    我看了看,似乎只有java.script库有这个功能,但是有运行java的虚拟主机吗?
      

  8.   

    建议看一下:Lucene:基于Java的全文检索引擎简介(笔记by 车东)