-
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环境中抓取其他网站的数据。 首先,我们需要了解的是网页抓取的基本...
在这份教程中,将会涉及到使用HttpClient工具在Java环境中抓取网页数据的相关知识点。下面详细说明文档内容中涉及的知识点: 1. 网络爬虫的定义和应用: 网络爬虫是一种自动获取网页内容的程序,它通过模拟浏览器...
标签“源码”和“工具”暗示我们将讨论与编程相关的代码片段,可能是使用某种特定的网页抓取库或框架,并且可能会涉及到一个实际的工具,如Python的BeautifulSoup或Scrapy框架。 在压缩包文件中,有一个名为"oh.jsp...
Java标准库中的`java.net.HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp都可以实现这一功能。 2. **HTML解析**:获取到网页HTML后,我们需要解析HTML文档以提取URL。可以使用Jsoup库,它提供了简洁的...
本主题主要关注如何使用`httpclient4.*`库来绕过验证码获取公司信息,以及结合`jsoup`解析静态网页信息和`htmlUnit`处理动态网站的抓取。以下是对这些知识点的详细说明: 1. **httpclient4.***: Apache HttpClient...
HttpURLConnection是Java标准库的一部分,而HttpClient则是一个第三方库,功能更强大,支持更多定制。 3. **HTML解析器**:如Jsoup库,它能解析HTML文档,提供CSS选择器和DOM遍历功能,方便提取目标数据。 4. **...
- 可以使用Java内置的`HttpURLConnection`类,或者第三方库如Apache HttpClient或OkHttp来发送HTTP请求并处理响应。 4. **HTML解析**: - 要从HTML源代码中提取机票数据,需要解析HTML结构。可以使用Jsoup库,它...
Java实现WebSpider,也被称为网络爬虫或网页抓取,是一种自动浏览互联网并提取网页信息的技术。在本项目中,"蓝蜘蛛"是这个爬虫程序的代号,它使用Java编程语言进行开发。Java因其跨平台性、稳定性和丰富的库支持,...
Java的HttpURLConnection或者第三方库如Apache HttpClient可以用于发送请求。 6. **数据解析**:抓取到的数据通常是HTML格式,需要使用解析库如Jsoup或DOM解析器将其转换为结构化的数据,以便进一步处理。如果是...
对于图片,我们使用`<img>`标签的`src`属性获取URL,然后使用Java的`HttpURLConnection`或第三方库如Apache HttpClient下载图片,保存到本地,并将`src`属性替换为本地路径。 对于CSS和JavaScript,情况类似。`...
以下是一个简化的`Crawl`类实现示例,用于展示如何使用多线程抓取数据: ```java public class Crawl implements Runnable { private static int t = 1; private String cookie; private GetUid getUid; ...
在Java编程中,下载图片是一项常见的任务,尤其在构建Web应用程序或者进行数据抓取时。本文将详细探讨几种Java下载图片的方法,并提供相应的源代码,帮助开发者更好地理解和应用。 1. **URL连接下载图片** 使用`...
本项目涉及的是一款基于Java实现的爬虫程序,它通过调用接口抓取了苹果、华为、小米、荣耀、vivo以及OPPO这六个知名品牌在全国范围内的售后服务地址表。以下是对该项目所涉及知识点的详细解析: 1. **Java爬虫**:...
3. **HTTP请求**:Java中可以使用`java.net.URL`、`java.net.HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp等来发送HTTP请求。这些库可以设置请求头,比如User-Agent,以模拟浏览器行为,防止被网站...
Java抓取网页数据是网络编程中的一个重要实践,通常用于数据挖掘、信息分析或自动化测试等场景。这个过程涉及到HTTP协议的理解以及Java内置的网络通信类库的使用。在Java中,我们可以使用`HttpURLConnection`类来...
这个过程可以使用Java的AWT或Swing库来完成,但它们在处理复杂网页时可能效果不佳。更合适的方法是使用像html2canvas这样的JavaScript库,它可以将HTML渲染为canvas元素,然后通过canvas.toDataURL()方法得到Base64...
获取到验证码图片URL后,可以使用Java的`HttpURLConnection`或第三方库如Apache HttpClient来下载图片。下载的图片可能需要预处理,例如调整大小、灰度化或二值化,以提高OCR识别的准确性。Java的`BufferedImage`类...
本教程以"内涵吧内涵段子和笑话集"为例,详细介绍了如何使用Java编程语言实现网页抓取和数据存储的全过程。 首先,我们需要了解网页抓取的基础知识。网页抓取,也称为网络爬虫或蜘蛛,是一种通过自动化程序从互联网...
在Java编程语言中,截取指定网页并保存为图片是一项常见的需求,比如用于网页快照、自动化测试或者数据抓取等场景。实现这个功能通常涉及网络请求、网页解析以及图像处理等多个方面。以下是一个详细的步骤解析: 1....
使用诸如`HttpURLConnection`或第三方库如Apache HttpClient,可以发送GET或POST请求获取网页内容。接着,使用HTML解析器如Jsoup,解析获取的HTML文档,提取出所需的信息,如链接、文本内容等。 聚焦爬虫的关键在于...