在论坛看帖子看到一则抓取百度指数的需求,自己最近刚好看到httpclient和httpparser
思路:
1、查看百度指数页面,找出页面的编码方式。
2、浏览器提交一些测试数据,并观察浏览器地址栏的变化。
3、httpclient测试是否可以读取该页面的数据内容
4、拼凑百度地址栏的数据信息
PS:比较简单 就没有多余的注释信息
代码如下:
package com.lch.hibaidu;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class GetIndex {
public static void main(String[] args) throws Exception {
String QueryString = "3Q";
String URLQueryString = URLEncoder.encode(QueryString);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpHost targetHost = new HttpHost("index.baidu.com");
HttpGet httpGet = new HttpGet("/main/word.php?word="+URLQueryString);
System.out.println("目标: " + targetHost);
System.out.println("请求: " + httpGet.getRequestLine());
HttpResponse response = httpClient.execute(targetHost, httpGet);
HttpEntity entity = response.getEntity();
System.out.println("---------------------------------");
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length : "
+ entity.getContentLength());
}
BufferedReader buReader = new BufferedReader(new InputStreamReader(
entity.getContent(), "gb2312"));
String line = null;
while ((line = buReader.readLine()) != null) {
System.out.println(line);
}
if (entity != null) {
entity.consumeContent();
}
}
}
得到数据结果信息后,可以通过httpparser进行分析,这个就不多说了!
分享到:
相关推荐
Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)
### Java抓取网站数据知识点详解 #### 一、概述 在现代互联网开发中,抓取网站数据是一项重要的技能。无论是进行市场调研、竞品分析还是数据挖掘,掌握如何使用Java来抓取数据都是十分必要的。本篇文章将详细介绍...
本文将详细讨论如何使用Java语言来抓取网页数据,包括两种主要方法:直接抓取原网页内容和处理网页中的JavaScript返回数据。 首先,让我们探讨**抓取原网页**的方法。在Java中,我们可以使用`java.net.URL`类来建立...
在“java抓取网页数据”这个主题中,我们将深入探讨如何利用Java来抓取并处理互联网上的信息。 首先,我们要了解什么是网络爬虫。网络爬虫(Web Crawler)是自动遍历互联网的程序,通过抓取网页内容并存储在本地,...
在Java编程环境中,从百度网站获取搜索数据是一个涉及网络爬虫和数据分析的过程。这个过程通常包括以下几个关键步骤和相关的知识点: 1. **网络请求库**:为了从网站抓取数据,你需要一个能够发送HTTP请求的库。在...
Java网页抓取数据是互联网数据挖掘的一个重要领域,它允许开发者通过编程方式获取网页上的信息,从而实现自动化分析、监控或构建智能应用。在Java中,我们通常使用HTTP客户端库和HTML解析工具来实现这一目标。本文将...
本篇将详细探讨一个特定的项目——"Python-百度指数爬虫",它允许用户自定义时间段来抓取百度指数数据,而且这个过程并不依赖于模拟浏览器的操作。 首先,我们要理解什么是百度指数。百度指数是百度推出的一个服务...
在本文中,我们将深入探讨如何使用Java编程语言和Spring Boot框架来实现百度图片的抓取与下载功能。首先,我们需要了解几个关键的概念和技术。 **Java** 是一种广泛使用的面向对象的编程语言,它以其跨平台的特性而...
Java网页抓取数据是互联网开发中的一个重要技能,它允许开发者从网页中提取所需的信息,如新闻、产品数据或用户评论,以供进一步分析或利用。本主题主要涵盖以下几个关键知识点: 1. **网络请求库**:在Java中,...
Java获取百度网盘真实下载链接的方法涉及到网络编程和解析网页数据的技术,主要步骤包括发送HTTP请求、解析HTML页面以及提取所需信息。以下是对这个过程的详细说明: 首先,要获取百度网盘的真实下载链接,我们需要...
### Java抓取任何指定网页的数据 #### 知识点概览 本文主要介绍如何使用Java技术来抓取任何指定网页的数据。重点在于介绍抓取网页数据的方法、解析数据的手段,以及具体实施过程中的关键步骤。 #### 抓取网页数据...
4. **数据存储**:抓取到的百度指数数据通常需要保存下来,以便后续分析。Python提供了多种数据存储方式,如CSV、JSON、数据库等。pandas库可以方便地处理数据并将其保存到这些格式。 5. **异常处理**:网络请求...
在这个主题中,我们将探讨如何使用Python来抓取百度云分享的数据,特别是利用百度云最新的API接口。这通常涉及到请求、解析HTML或JSON响应、处理验证码以及可能的反爬策略。 首先,要抓取百度云分享的数据,我们...
Java网络爬虫是一种自动化程序,用于从互联网上抓取大量数据。它的工作原理是模拟浏览器发送HTTP请求到服务器,接收响应,并解析返回的HTML或XML文档以提取所需信息。在这个过程中,HttpClient是一个常用的Java库,...
java抓取微信公众号最近10篇文章,基于微信搜狗搜索实现。java源码.git 仓库 http://git.oschina.net/hcxy/WechatSpider
java爬虫抓取城市数据,数据抓取后直接持久化到数据库当中。博客地址http://blog.csdn.net/qq_23994787/article/details/78107890 如果没有积分的话,在主页给博主发邮件获取。
Java作为一门广泛使用的编程语言,提供了强大的工具和库来帮助开发者抓取和处理网页数据。以下是对"java抓取网页数据实现"这一主题的详细说明。 首先,我们需要了解网页抓取的基本原理。网页抓取,也称为网络爬虫或...
Java抓取数据包源代码Jpcap是一种在Java平台上实现的数据包捕获和分析的工具。Jpcap库为开发者提供了强大的功能,可以用来获取网络层的数据包信息,包括IP、TCP、UDP、ICMP等协议的数据包。它是Java版的libpcap库,...
在IT行业中,数据抓取是一项重要的技能,尤其在地理信息系统(GIS)领域,如百度地图。数据抓取,也称为网络爬虫或网页抓取,是通过自动化程序从互联网上收集信息的过程。在这个场景中,我们关注的是如何从百度地图...