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(); } } }
相关推荐
【网络爬虫系统开发】是一项综合性的IT项目,旨在利用编程技术从指定的网页中自动抓取信息。在这个案例中,系统是基于JavaWeb构建的,主要目标是爬取BOSS直聘网站上的职位信息。以下是该系统的核心知识点: 1. **...
【Python网络爬虫讲义201808】是一份深入探讨高级网络爬虫技术的文档,由主讲老师赵俊编撰。本讲义不仅涵盖了基础的爬虫概念和实现,还针对网络爬虫可能遇到的问题和解决方案进行了详细阐述。通过实际案例,如豆瓣、...
### 网络爬虫——Python与数据分析 #### 一、网络爬虫概述 网络爬虫,也称为网络蜘蛛或网络机器人,是一种自动化的程序,主要用于在网络上抓取和下载网页内容。这种技术对于搜索引擎至关重要,因为它们依赖于爬虫...
1. **网络爬虫原理**:网络爬虫通常由HTTP请求、HTML解析、数据存储三部分组成。首先,通过HTTP或HTTPS协议向目标网站发送请求,获取网页内容;然后,解析网页HTML,提取有价值的信息;最后,将提取的数据存储在本地...
《网络爬虫系统》 网络爬虫,也称为网络蜘蛛或网页抓取工具,是用于自动遍历互联网并抓取网页信息的一种程序。它的工作原理是通过模拟人类浏览器的行为,发送HTTP请求到服务器,接收响应,并对返回的HTML文档进行...
在本资源中,标题"自己动手写网络爬虫源码"揭示了主要的主题,即学习和实践编写网络爬虫的源代码。网络爬虫是一种自动抓取互联网信息的程序,对于数据分析、信息检索和网站维护等领域具有重要意义。在这个项目中,你...
网络爬虫 百科名片 网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁...
另一份文档"python网络爬虫.pdf"则可能详细讲解了网络爬虫的构建过程,包括设置头部信息、处理cookies、登录抓取、模拟点击、动态加载页面的抓取等技巧,对于想要深入学习网络爬虫技术的人来说是一份宝贵的资源。...
(1) 本书使用Java语言来开发网络爬虫,因此首先要准备一个Java的开发环境。 基本的Java开发环境叫做JDK(Java Develop Kit),当前可以使用JDK1.6。JDK1.6 可以从Sun公司的官方网站http://java.sun.com下载得到。使用...
《Java开发的网络爬虫PDF+源码》是一份针对初学者和中级开发者精心准备的教程,旨在帮助读者深入理解并实践网络爬虫的开发。这份资料包含了一本详细的PDF教程和配套的源码,旨在以实践驱动学习,让读者在阅读理论...
### 基于本体的网络爬虫技术研究 #### 引言 随着互联网的快速发展,网络已经成为人类社会最重要的知识库之一。然而,互联网上的信息是杂乱无章且未经整理的,这使得用户在海量信息中寻找所需内容变得越来越困难。...
1. **网络爬虫基本原理** 网络爬虫的核心思想是通过入口URL获取更多链接,不断探索和下载新的页面。这一过程包括: - **指定入口URL**:网络爬虫开始时,通常会有一个或多个起始URL,这些URL作为爬取的起点。 - *...
在编写网络爬虫之前,读者需要具备一定的Python编程基础,因为本书不是为Python初学者准备的。书中的内容涵盖了网络爬虫的各个方面,从基本的网页数据抓取到使用爬虫框架Scrapy进行高效抓取,从单线程爬取到多线程和...
Python 网络爬虫实验报告二 本实验报告的主要内容是使用 Python 实现网络爬虫,抓取“学习强国”主页面的日志信息。下面我们将详细介绍实验的步骤和相关知识点。 一、实验准备 在开始实验之前,我们需要安装 ...
针对网络爬虫技术图片获取的应用,需要进行以下准备工作: - 导入re库,即Python的正则表达式库,用于模式匹配和字符串检查,帮助准确地抓取用户所需的图片资源。 - 了解目标网站的编码方式和图片存储路径,以便于...
**基于Python专用型网络爬虫的设计及实现** 网络爬虫是一种自动抓取互联网信息的程序,广泛应用于数据挖掘、市场分析、学术研究等领域。在Python编程语言中,由于其丰富的库支持和简洁的语法,使得Python成为开发...
《自己动手写网络爬虫》是一本面向初学者和进阶者的教程,旨在帮助读者掌握网络爬虫的基本原理和实践技巧。这本书通过清晰的讲解和实例,让你深入了解Python在爬虫开发中的应用。 网络爬虫是自动抓取互联网信息的一...
此外,文章还提到了在设计爬虫系统时,应考虑到用户上网习惯,并基于此进行专业化的网络爬虫设计,使各项功能明确,同时为系统的后续更新与维护做好准备。 总体而言,网络爬虫的设计与实现是信息技术领域中不可或缺...
**larbin源码分析——C++实现的网络爬虫** `larbin`是一个用C++编写的开源网络爬虫,其主要目标是抓取互联网上的网页以进行索引和搜索。在深入理解larbin源码之前,我们首先需要对网络爬虫的基本原理有所了解。 ...