怎么提取某个网站的内容,比如我想提取新浪国内新闻的标题和链接,类似Rss,但是目标网站不提供Rss订阅,怎样手动提取呢?

解决方案 »

  1.   


    $str=file_get_contents($url);   具体方法,你可以参考下这个例题 http://www.phpx.com/happy/viewthread.php?tid=136437&highlight=
      

  2.   

    httpclient  
    very good
      

  3.   

    2楼的乱讲,程序里要IP的一般大型的网站服务器不止一台的肯定不行
    用第三方软件到时个好主意,用个RSS订阅器啥的获取到了,你程序再读取
      

  4.   

    import org.apache.commons.httpclient.Cookie; 
    import org.apache.commons.httpclient.HttpClient; 
    import org.apache.commons.httpclient.HttpException; 
    import org.apache.commons.httpclient.HttpState; 
    import org.apache.commons.httpclient.NameValuePair; 
    import org.apache.commons.httpclient.cookie.CookiePolicy; 
    import org.apache.commons.httpclient.cookie.CookieSpec; 
    import org.apache.commons.httpclient.methods.GetMethod; 
    import org.apache.commons.httpclient.methods.PostMethod; HttpClient httpClient=new HttpClient();//模拟打开浏览器 PostMethod post = new PostMethod("action路径");//如果有 提交的action,请传入action,如果网站不需要提交到另外的action就直接 是这个网站 "http://域名" NameValuePair data[]={new NameValuePair("",""......)}; post.setRequestBody(data);//把参数提交到表单,如果不需要参数就不写 int stateCode= httpClient.executeMethod(post); 判断一下返回的状态码,如果是200不需要转向,不是200一般就需要转向 
    另外我建议你去下个httpWatch这样可以看看你需要哪些参数, 
      

  5.   

    谁有现成的例子给我传一个,可以再加分
    [email protected]
      

  6.   

    关键是先分析网页HTML中想要提取的内容的格式,利用java.net.URL来获取网页的HTML代码,然后通过正则表达式或HTMLParse来提取内容,这种方法针对性强,只能解决个例。如果网站不提供XML式的数据,也只能这样了HTML的缺点之一就体现在这里了,等不久的将来都用XML了就爽了。