`
cuiyadll
  • 浏览: 204614 次
文章分类
社区版块
存档分类
最新评论

网络爬虫准备1

阅读更多
package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class test {

	private static String HOST = "www.jd.com";
	private static String BASE_URL = "http://" + HOST + "/";

	public static String downloadPage(String url, String outputPath) throws ClientProtocolException, IOException {
		CloseableHttpClient httpClient = HttpClients.createDefault();
		/// 设置GET请求参数,URL一定要以"http://"开头
		HttpGet getReq = new HttpGet(url);
		/// 设置请求报头,模拟Chrome浏览器
		getReq.addHeader("Accept", "application/json, text/javascript, */*; q=0.01");
		getReq.addHeader("Accept-Encoding", "gzip,deflate,sdch");
		getReq.addHeader("Accept-Language", "zh-CN,zh;q=0.8");
		getReq.addHeader("Content-Type", "text/html; charset=UTF-8");
		getReq.addHeader("Host", HOST);
		getReq.addHeader("User-Agent",
				"Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36");
		/// 发送GET请求
		CloseableHttpResponse rep = httpClient.execute(getReq);
		/// 从HTTP响应中取出页面内容
		HttpEntity repEntity = rep.getEntity();
		String content = EntityUtils.toString(repEntity);

		File outputFile = new File(outputPath);
		FileOutputStream fos = new FileOutputStream(outputFile);
		fos.write(content.getBytes());
		fos.close();

		/// 打印出页面的内容:
		System.out.println(content);
		/// 关闭连接
		rep.close();
		httpClient.close();

		return content;
	}

	public static void main(String[] args) {
		try {
			downloadPage(BASE_URL, "e:\\output.html");
		} catch (ClientProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

 

分享到:
评论

相关推荐

    网络爬虫系统报告.doc

    【网络爬虫系统开发】是一项综合性的IT项目,旨在利用编程技术从指定的网页中自动抓取信息。在这个案例中,系统是基于JavaWeb构建的,主要目标是爬取BOSS直聘网站上的职位信息。以下是该系统的核心知识点: 1. **...

    Python网络爬虫讲义201808.doc

    【Python网络爬虫讲义201808】是一份深入探讨高级网络爬虫技术的文档,由主讲老师赵俊编撰。本讲义不仅涵盖了基础的爬虫概念和实现,还针对网络爬虫可能遇到的问题和解决方案进行了详细阐述。通过实际案例,如豆瓣、...

    网络爬虫-python和数据分析

    ### 网络爬虫——Python与数据分析 #### 一、网络爬虫概述 网络爬虫,也称为网络蜘蛛或网络机器人,是一种自动化的程序,主要用于在网络上抓取和下载网页内容。这种技术对于搜索引擎至关重要,因为它们依赖于爬虫...

    Java网络爬虫,附源码和文档

    1. **网络爬虫原理**:网络爬虫通常由HTTP请求、HTML解析、数据存储三部分组成。首先,通过HTTP或HTTPS协议向目标网站发送请求,获取网页内容;然后,解析网页HTML,提取有价值的信息;最后,将提取的数据存储在本地...

    网络爬虫系统

    《网络爬虫系统》 网络爬虫,也称为网络蜘蛛或网页抓取工具,是用于自动遍历互联网并抓取网页信息的一种程序。它的工作原理是通过模拟人类浏览器的行为,发送HTTP请求到服务器,接收响应,并对返回的HTML文档进行...

    自己动手写网络爬虫源码

    在本资源中,标题"自己动手写网络爬虫源码"揭示了主要的主题,即学习和实践编写网络爬虫的源代码。网络爬虫是一种自动抓取互联网信息的程序,对于数据分析、信息检索和网站维护等领域具有重要意义。在这个项目中,你...

    网络爬虫一种搜索引擎

    网络爬虫 百科名片 网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁...

    python入门教程、python开发实战、python网络爬虫写法三部曲

    另一份文档"python网络爬虫.pdf"则可能详细讲解了网络爬虫的构建过程,包括设置头部信息、处理cookies、登录抓取、模拟点击、动态加载页面的抓取等技巧,对于想要深入学习网络爬虫技术的人来说是一份宝贵的资源。...

    自己动手写网络爬虫 配书光盘

    (1) 本书使用Java语言来开发网络爬虫,因此首先要准备一个Java的开发环境。 基本的Java开发环境叫做JDK(Java Develop Kit),当前可以使用JDK1.6。JDK1.6 可以从Sun公司的官方网站http://java.sun.com下载得到。使用...

    java开发的网络爬虫PDF+源码.zip

    《Java开发的网络爬虫PDF+源码》是一份针对初学者和中级开发者精心准备的教程,旨在帮助读者深入理解并实践网络爬虫的开发。这份资料包含了一本详细的PDF教程和配套的源码,旨在以实践驱动学习,让读者在阅读理论...

    基于本体的网络爬虫技术研究

    ### 基于本体的网络爬虫技术研究 #### 引言 随着互联网的快速发展,网络已经成为人类社会最重要的知识库之一。然而,互联网上的信息是杂乱无章且未经整理的,这使得用户在海量信息中寻找所需内容变得越来越困难。...

    C#网络爬虫的原理及部分代码

    1. **网络爬虫基本原理** 网络爬虫的核心思想是通过入口URL获取更多链接,不断探索和下载新的页面。这一过程包括: - **指定入口URL**:网络爬虫开始时,通常会有一个或多个起始URL,这些URL作为爬取的起点。 - *...

    用Python写网络爬虫

    在编写网络爬虫之前,读者需要具备一定的Python编程基础,因为本书不是为Python初学者准备的。书中的内容涵盖了网络爬虫的各个方面,从基本的网页数据抓取到使用爬虫框架Scrapy进行高效抓取,从单线程爬取到多线程和...

    《Python网络爬虫》实验报告二.docx

    Python 网络爬虫实验报告二 本实验报告的主要内容是使用 Python 实现网络爬虫,抓取“学习强国”主页面的日志信息。下面我们将详细介绍实验的步骤和相关知识点。 一、实验准备 在开始实验之前,我们需要安装 ...

    基于Python语言下网络爬虫的技术特点及应用设计.pdf

    针对网络爬虫技术图片获取的应用,需要进行以下准备工作: - 导入re库,即Python的正则表达式库,用于模式匹配和字符串检查,帮助准确地抓取用户所需的图片资源。 - 了解目标网站的编码方式和图片存储路径,以便于...

    基于Python专用型网络爬虫的设计及实现.docx

    **基于Python专用型网络爬虫的设计及实现** 网络爬虫是一种自动抓取互联网信息的程序,广泛应用于数据挖掘、市场分析、学术研究等领域。在Python编程语言中,由于其丰富的库支持和简洁的语法,使得Python成为开发...

    自己动手写网络爬虫

    《自己动手写网络爬虫》是一本面向初学者和进阶者的教程,旨在帮助读者掌握网络爬虫的基本原理和实践技巧。这本书通过清晰的讲解和实例,让你深入了解Python在爬虫开发中的应用。 网络爬虫是自动抓取互联网信息的一...

    基于Python的新浪新闻爬虫系统的设计与实现.pdf

    此外,文章还提到了在设计爬虫系统时,应考虑到用户上网习惯,并基于此进行专业化的网络爬虫设计,使各项功能明确,同时为系统的后续更新与维护做好准备。 总体而言,网络爬虫的设计与实现是信息技术领域中不可或缺...

    larbin源码 c++的网络爬虫

    **larbin源码分析——C++实现的网络爬虫** `larbin`是一个用C++编写的开源网络爬虫,其主要目标是抓取互联网上的网页以进行索引和搜索。在深入理解larbin源码之前,我们首先需要对网络爬虫的基本原理有所了解。 ...

Global site tag (gtag.js) - Google Analytics