0 0

java 用httpclient 抓取网页时,只能抓取第一页0

抓取页面 URL:    http://moni.10jqka.com.cn/120313901 

1. 我看到post参数有三个,于是配置

NameValuePair[] data =

        { new NameValuePair("endDate", "2012-06-04"),new NameValuePair("page", "1"),new NameValuePair("startDate", "2012-04-20")};

 

2.  post 

 

发现 post URL 为: http://moni.10jqka.com.cn/mncg/index/jyjl/120313901

调用函数getPostPage() 方法

String content = fetch.getPostPage(

                "http://moni.10jqka.com.cn/mncg/index/jyjl/120313901", data,
                cookie);

 

 

public String getPostPage(String postUrl, NameValuePair[] data, String cookie)throws Exception{

        PostMethod method = null;
        String contentStr = null;
        try
        {
            method = new PostMethod(postUrl);
            method.addRequestHeader("User-Agent", USER_AGENT);//
            method.addRequestHeader("Content-Type", CONTENT_TYPE);
            method.addRequestHeader("Host", "moni.10jqka.com.cn");
            method.addRequestHeader("X-Requested-With", "XMLHttpRequest");
            method.addRequestHeader("Referer","http://moni.10jqka.com.cn/120313901");
            method.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
            method.addRequestHeader("Cookie", cookie);

            method.setRequestBody(data);
            int statusCode = client.executeMethod(method);
            // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
            // 301或者302
            if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
                    || statusCode == HttpStatus.SC_MOVED_TEMPORARILY)
            {
                // 从头中取出转向的地址
                Header locationHeader = method.getResponseHeader("location");
                String location = null;
                if (locationHeader != null)
                {
                    location = locationHeader.getValue();
                    System.out
                            .println("The page was redirected to:" + location);
                } else
                {
                    System.err.println("Location field value is null.");
                }
                return "";
            }
            else
            {
                contentStr = new String(method.getResponseBodyAsString().getBytes("gbk"));
                System.out.println(contentStr);
            }
        } catch (Exception e)
        {
            log.error(e);
        } finally
        {
            if (method != null)
                method.releaseConnection();
        }
        return contentStr;
    }

 

3.  打印出结果,发现获得内容成功。

 

但是,我将post中的参数page 设为2 的时候,发现响应的还是 page=1 的内容,百思不得其解,期待您的解答

2012年6月04日 16:48
目前还没有答案

相关推荐

    java web网站常用抓取其他网站内容

    Java Web网站抓取其他网站内容是一项常见的技术需求,主要用于数据挖掘、信息聚合或者自动化测试等场景。本篇文章将深入探讨如何使用Java在Web环境中抓取其他网站的数据。 首先,我们需要了解的是网页抓取的基本...

    java爬虫抓取网页数据教程(20210809124656).pdf

    在这份教程中,将会涉及到使用HttpClient工具在Java环境中抓取网页数据的相关知识点。下面详细说明文档内容中涉及的知识点: 1. 网络爬虫的定义和应用: 网络爬虫是一种自动获取网页内容的程序,它通过模拟浏览器...

    网页抓取例子

    标签“源码”和“工具”暗示我们将讨论与编程相关的代码片段,可能是使用某种特定的网页抓取库或框架,并且可能会涉及到一个实际的工具,如Python的BeautifulSoup或Scrapy框架。 在压缩包文件中,有一个名为"oh.jsp...

    JAVA实现的能抓取网站url提供分析等功能

    Java标准库中的`java.net.HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp都可以实现这一功能。 2. **HTML解析**:获取到网页HTML后,我们需要解析HTML文档以提取URL。可以使用Jsoup库,它提供了简洁的...

    针对 httpclient4.* 绕验证码获取公司信息 包括 jsoup网页信息的爬虫及htmlUnit对动态网站信息的抓取

    本主题主要关注如何使用`httpclient4.*`库来绕过验证码获取公司信息,以及结合`jsoup`解析静态网页信息和`htmlUnit`处理动态网站的抓取。以下是对这些知识点的详细说明: 1. **httpclient4.***: Apache HttpClient...

    Java爬虫,信息抓取的实现

    HttpURLConnection是Java标准库的一部分,而HttpClient则是一个第三方库,功能更强大,支持更多定制。 3. **HTML解析器**:如Jsoup库,它能解析HTML文档,提供CSS选择器和DOM遍历功能,方便提取目标数据。 4. **...

    java 简单实现 抓取酷讯网的机票数据

    - 可以使用Java内置的`HttpURLConnection`类,或者第三方库如Apache HttpClient或OkHttp来发送HTTP请求并处理响应。 4. **HTML解析**: - 要从HTML源代码中提取机票数据,需要解析HTML结构。可以使用Jsoup库,它...

    java实现WebSpider蓝蜘蛛网页抓取.zip

    Java实现WebSpider,也被称为网络爬虫或网页抓取,是一种自动浏览互联网并提取网页信息的技术。在本项目中,"蓝蜘蛛"是这个爬虫程序的代号,它使用Java编程语言进行开发。Java因其跨平台性、稳定性和丰富的库支持,...

    新浪微博粉丝抓取

    Java的HttpURLConnection或者第三方库如Apache HttpClient可以用于发送请求。 6. **数据解析**:抓取到的数据通常是HTML格式,需要使用解析库如Jsoup或DOM解析器将其转换为结构化的数据,以便进一步处理。如果是...

    使用Jsoup,抓取整个网站(包括图片、js、css)

    对于图片,我们使用`<img>`标签的`src`属性获取URL,然后使用Java的`HttpURLConnection`或第三方库如Apache HttpClient下载图片,保存到本地,并将`src`属性替换为本地路径。 对于CSS和JavaScript,情况类似。`...

    java实现新浪微博抓取关注和粉丝的课程设计报告

    以下是一个简化的`Crawl`类实现示例,用于展示如何使用多线程抓取数据: ```java public class Crawl implements Runnable { private static int t = 1; private String cookie; private GetUid getUid; ...

    java下载图片的几种方式,提供源代码

    在Java编程中,下载图片是一项常见的任务,尤其在构建Web应用程序或者进行数据抓取时。本文将详细探讨几种Java下载图片的方法,并提供相应的源代码,帮助开发者更好地理解和应用。 1. **URL连接下载图片** 使用`...

    java爬虫,调用接口抓取各个省份的地址表,调用自动化操作封装页面获取数据

    本项目涉及的是一款基于Java实现的爬虫程序,它通过调用接口抓取了苹果、华为、小米、荣耀、vivo以及OPPO这六个知名品牌在全国范围内的售后服务地址表。以下是对该项目所涉及知识点的详细解析: 1. **Java爬虫**:...

    java爬取京东数据

    3. **HTTP请求**:Java中可以使用`java.net.URL`、`java.net.HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp等来发送HTTP请求。这些库可以设置请求头,比如User-Agent,以模拟浏览器行为,防止被网站...

    java抓取网页数据示例

    Java抓取网页数据是网络编程中的一个重要实践,通常用于数据挖掘、信息分析或自动化测试等场景。这个过程涉及到HTTP协议的理解以及Java内置的网络通信类库的使用。在Java中,我们可以使用`HttpURLConnection`类来...

    通过URL地址获取网页生成jpg图片

    这个过程可以使用Java的AWT或Swing库来完成,但它们在处理复杂网页时可能效果不佳。更合适的方法是使用像html2canvas这样的JavaScript库,它可以将HTML渲染为canvas元素,然后通过canvas.toDataURL()方法得到Base64...

    批量抓取网站验证码

    获取到验证码图片URL后,可以使用Java的`HttpURLConnection`或第三方库如Apache HttpClient来下载图片。下载的图片可能需要预处理,例如调整大小、灰度化或二值化,以提高OCR识别的准确性。Java的`BufferedImage`类...

    网页自动采集java程序实现

    本教程以"内涵吧内涵段子和笑话集"为例,详细介绍了如何使用Java编程语言实现网页抓取和数据存储的全过程。 首先,我们需要了解网页抓取的基础知识。网页抓取,也称为网络爬虫或蜘蛛,是一种通过自动化程序从互联网...

    java截图指定网页保存图片

    在Java编程语言中,截取指定网页并保存为图片是一项常见的需求,比如用于网页快照、自动化测试或者数据抓取等场景。实现这个功能通常涉及网络请求、网页解析以及图像处理等多个方面。以下是一个详细的步骤解析: 1....

    java实现的网页爬虫1.5版本聚焦爬虫抽取网页

    使用诸如`HttpURLConnection`或第三方库如Apache HttpClient,可以发送GET或POST请求获取网页内容。接着,使用HTML解析器如Jsoup,解析获取的HTML文档,提取出所需的信息,如链接、文本内容等。 聚焦爬虫的关键在于...

Global site tag (gtag.js) - Google Analytics