`

爬网入门:JAVA抓取网站网页内容

阅读更多
爬网入门:JAVA抓取网站网页内容
2011-01-06 16:45

 最近在用JAVA研究下爬网技术,呵呵,入了个门,把自己的心得和大家分享下
以下提供二种方法,一种是用apache提供的包.另一种是用JAVA自带的.
代码如下:

 


// 第一种方法
//这种方法是用apache提供的包,简单方便
//但是要用到以下包:commons-codec-1.4.jar
//    commons-httpclient-3.1.jar
//    commons-logging-1.0.4.jar

 

 


    public static String createhttpClient(String url, String param) {
        HttpClient client = new HttpClient();
        String response = null;
        String keyword = null;
        PostMethod postMethod = new PostMethod(url);
     

   
//        try {
//            if (param != null)
//                keyword = new String(param.getBytes("gb2312"), "ISO-8859-1");
//        } catch (UnsupportedEncodingException e1) {
//            // TODO Auto-generated catch block
//            e1.printStackTrace();
//        }

        // NameValuePair[] data = { new NameValuePair("keyword", keyword) };
        // // 将表单的值放入postMethod中
        // postMethod.setRequestBody(data);
        //    以上部分是带参数抓取,我自己把它注销了.大家可以把注销消掉研究下           

        try {
            int statusCode = client.executeMethod(postMethod);
            response = new String(postMethod.getResponseBodyAsString()
                    .getBytes("ISO-8859-1"), "gb2312");//这里要注意下 gb2312要和你抓取网页的编码要一样
            
            String p = response.replaceAll("\\&[a-zA-Z]{1,10};", "")
                    .replaceAll("<[^>]*>", "");//去掉网页中带有html语言的标签
            System.out.println(p);
        } catch (Exception e) {

            e.printStackTrace();
        }
        return response;

    }

    // 第二种方法
    // 这种方法是JAVA自带的URL来抓取网站内容


    public String getPageContent(String strUrl, String strPostRequest,
            int maxLength) {
        // 读取结果网页
        StringBuffer buffer = new StringBuffer();
        System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
        System.setProperty("sun.net.client.defaultReadTimeout", "5000");
        try {
            URL newUrl = new URL(strUrl);
            HttpURLConnection hConnect = (HttpURLConnection) newUrl
                    .openConnection();
            // POST方式的额外数据
            if (strPostRequest.length() > 0) {
                hConnect.setDoOutput(true);
                OutputStreamWriter out = new OutputStreamWriter(hConnect
                        .getOutputStream());
                out.write(strPostRequest);
                out.flush();
                out.close();
            }
            // 读取内容
            
            BufferedReader rd = new BufferedReader(new InputStreamReader(
                    hConnect.getInputStream()));
            int ch;
            for (int length = 0; (ch = rd.read()) > -1
                    && (maxLength <= 0 || length < maxLength); length++)
                buffer.append((char) ch);
            String s = buffer.toString();
            s.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "");
            System.out.println(s);
            
            rd.close();
            hConnect.disconnect();
            return buffer.toString().trim();
        } catch (Exception e) {
            // return "错误:读取网页失败!";
            //
            return null;

             
        }
    }

然后写个测试类:


public static void main(String[] args) {

        String url = "http://www.liuzm.com";
        String keyword = "刘志猛博客";
        createhttpClient p = new createhttpClient();
        String response = p.createhttpClient(url, keyword); // 第一种方法
        // p.getPageContent(url, "post", 100500);//第二种方法
    }

呵呵,看看控制台吧,是不是把网页的内容获取了

分享到:
评论

相关推荐

    python爬网第一课抓取标签数据

    python爬网第一课抓取标签数据

    java爬取网页用到的一些jar

    在Java编程语言中,爬取网页是一项常见的任务,主要用于数据抓取、数据分析或者构建智能搜索引擎。这个名为“java爬取网页用到的一些jar”的压缩包很可能是包含了一系列用于网页抓取的Java库。这些库可以帮助开发者...

    Web-Scraper:使用Python中的Scrapy构建的网络抓取工具,用于网络抓取和抓取

    网页抓取工具该项目基本上包括Web爬网程序和Web爬网程序:网页抓取工具- 蜘蛛可以通过跟踪链接来爬网任何网站。 爬网基本上涉及从网站进行大规模数据的大规模检索。 作为示例,我已对QuotestoScrape.com进行了爬网,...

    java 爬网 程序 示例

    // 这种方法是JAVA自带的URL来抓取网站内容 public String getPageContent(String strUrl, String strPostRequest, int maxLength) { // 读取结果网页 StringBuffer buffer = new StringBuffer...

    search 爬网

    在SharePoint 2010中,搜索爬网由搜索服务应用程序执行,该程序自动遍历网站集合、站点、列表和库,抓取内容并将其索引,以便用户能够通过关键字查询找到相关信息。 ### 二、搜索服务配置 1. **搜索服务应用程序...

    sharepoint自定义爬网工具

    在SharePoint环境中,爬网工具的主要目的是有效地索引和整理网站内容,以便用户可以快速、准确地找到所需信息。GrabberX作为一个自定义工具,它提供了比默认SharePoint搜索功能更定制化的选项和更广泛的覆盖范围。 ...

    网页视频抓取软件(WebVideo Downloader)

    【网页视频抓取软件(WebVideo Downloader)】是一款专门用于从网页中抓取并下载视频的工具,它能够帮助用户方便地获取网络上的多媒体资源,尤其是那些无法通过常规下载方式获取的视频。这款软件适用于那些希望离线...

    Web爬网:来自各种网站的Web爬网:示例网站,imdb,甚至是

    Web抓取来自各种网站的网页抓取Webscraping.ipynb 摘自:一个示例网站,imdb,甚至是。Webscraping.ipynb 来自冠状病毒,大学目录,维基百科等多个站点的废品创建图表和数据框。 一种工具使用Selenium该图不再起作用...

    crawler:爬网新浪微博和大中网站的爬虫,这是我的毕业设计

    本项目是关于“履带式爬网新浪微博和大中网站的爬虫”的毕业设计,它主要利用Python编程语言,通过模拟浏览器行为,实现对微博平台以及大型网站数据的抓取。 【描述】:这个项目旨在构建一个能够高效、稳定地爬取...

    Web爬网挑战:12 Web爬网作业-火星任务:从不同来源收集信息,保存在数据库中并在自己的网站上发布

    网络抓取挑战 12网页搜集作业-火星任务 将Python与Pandas和Splinter结合使用可从多个网站收集信息。 创建一个scrape函数,该函数将信息收集为MongoDB数据库中的Python字典。 创建一个显示收集的信息的网站。 创建...

    learning-web-scraping:Web抓取和爬网程序库,如Selenium,beautifulsoup和scrapy

    通过模拟真实用户的行为,Selenium 可以与JavaScript渲染的动态网页进行交互,这对于那些依赖用户操作才能加载内容的网站非常有用。它支持多种浏览器,如Chrome、Firefox等,并通过WebDriver接口进行控制。例如,你...

    使用Python构建Web爬网程序的完整指南.docx中文教程下载

    这些程序遍历网页,跟随链接,抓取所需的数据,通常用于搜索引擎索引、数据分析、市场研究等目的。Python作为一门强大的编程语言,因其简洁易懂的语法和丰富的库支持,成为开发Web爬虫的理想选择。 【Python爬虫的...

    quewaner.Crawler-爬网.zip

    而将其应用于网络爬虫,可以使得开发者能够高效地从互联网上抓取和处理大量数据,比如网页内容、新闻资讯、产品信息等。源代码的提供意味着我们可以直接查看和学习到具体的实现细节,这对于初学者来说是一份非常有...

    crawler4j:Java的开源Web爬网程序

    crawler4j crawler4j是Java的开源Web爬网程序,它提供了用于爬网的简单界面。 使用它,您可以在几分钟内设置多线程Web搜寻器。表中的内容安装使用Maven 将以下依赖项添加到pom.xml中: &lt; dependency&gt; &lt; groupId&gt;edu....

    Python中一个强大的Spider:Web爬网程序

    Python中一个强大的Spider(Web爬网程序) 在Python中,一个强大的Spider(爬虫)是指一个具有高度灵活性和扩展性的网络爬取程序。它能够根据特定需求自动抓取互联网上的数据并进行处理。 以下是一个强大的Spider...

    一个myspace的爬网程序

    在IT领域,网络爬虫是一种用于自动抓取互联网数据的工具,而“一个myspace的爬网程序”是指专门针对myspace平台设计的一种爬虫软件。Myspace曾是全球最大的社交网络之一,允许用户创建个人资料,分享音乐、照片和...

    API-Documentation-scraping:Java和Android API文档通过HTML解析进行抓取

    使用Jsoup库(和HTML解析),在Android和(Oracle)Java的文档页面中进行爬网,并从(root)域页面开始,将相关的包,类和接口页面抓取到最大深度级别2。 。 此处使用的爬网类型是针对每个链接以递归方式进行的基于...

    微软企业级网站搜索解决方案文档2

    - **内容抓取模块**:抓取目标网站的页面,并将其存储到SharePoint Document Library中。 - **索引生成器**:对抓取的内容进行处理,创建索引以供搜索使用。 **2.2 功能架构与实现流程** - **功能架构图**:展示了...

    爬网:地下城爬网:石汤官方资料库

    内容 怎么玩 如果您想立即潜水,建议使用以下方法之一: 开始游戏并选择一个教程(在游戏菜单中选择教程), 阅读 (在目录中),或 对于勤奋的人,请。 游戏中还有一个常见问题列表,您可以通过输入?Q进行访问。...

    ARGUS:ARGUS是易于使用的网页抓取工具。 该程序基于Scrapy Python框架,并且能够对各种不同的网站进行爬网。 在网站上,ARGUS能够执行诸如抓取文本或收集网站之间的超链接之类的任务。 看

    ARGUS:甲utomatedřobot对于G enericÜniversal小号craping ARGUS是易于使用的网页抓取工具。 该程序基于Scrapy Python框架,并且能够对各种不同的网站进行爬网。 在这些网站上,ARGUS执行抓取文本或收集网站之间的...

Global site tag (gtag.js) - Google Analytics