- 浏览: 636637 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Properties;
/**
**网页抓取 通用类
* @author
*/
public class WebClient {
/**
*代理服务器的地址
*/
private static String proxyHost;
/**
* 代理服务器的端口
*/
private static String proxyPort;
/**
* 代理服务器用户名
*/
private static String proxyUser;
/**
* 代理服务器密码
*/
private static String proxyPassword;
/**
*网页抓取方法
* @param urlString 要抓取的url地址
* @param charset 网页编码方式
* @param timeout 超时时间
* @return 抓取的网页内容
* @throws IOException 抓取异常
*/
public static String GetWebContent(String urlString, final String charset, int timeout) throws IOException {
if (urlString == null || urlString.length() == 0) {
return null;
}
urlString = (urlString.startsWith("http://") || urlString.startsWith("https://")) ? urlString : ("http://" + urlString).intern();
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
GetProxy();
conn.setRequestProperty(
"User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");//增加报头,模拟浏览器,防止屏蔽
conn.setRequestProperty("Accept", "text/html");//只接受text/html类型,当然也可以接受图片,pdf,*/*任意,就是tomcat/conf/web里面定义那些
conn.setConnectTimeout(timeout);
try {
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
return null;
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
InputStream input = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input,
charset));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line).append("\r\n");
}
if (reader != null) {
reader.close();
}
if (conn != null) {
conn.disconnect();
}
return sb.toString();
}
/**
* 网页抓取方法
* @param urlString 要抓取的url地址
* @return 抓取的网页内容
* @throws IOException 抓取异常
*/
public static String GetWebContent(String urlString) throws IOException {
return GetWebContent(urlString, "iso-8859-1", 5000);
}
/**
* 网页抓取方法
* @param urlString 要抓取的url地址
* @param pageCharset 目标网页编码方式
* @return 抓取的网页内容
* @throws IOException 抓取异常
*/
public static String GetWebContent(String urlString, String pageCharset) throws IOException {
String strHTML = GetWebContent(urlString, "iso-8859-1", 5000);
String StrEncode = new String(strHTML.getBytes("iso-8859-1"), pageCharset);
return StrEncode;
}
/**
* 设定代理服务器
* @param proxyHost
* @param proxyPort
*/
public static void SetProxy(String proxyHost, String proxyPort) {
SetProxy(proxyHost, proxyPort, null, null);
}
/**
* 设定代理服务器
* @param proxyHost 代理服务器的地址
* @param proxyPort 代理服务器的端口
* @param proxyUser 代理服务器用户名
* @param proxyPassword 代理服务器密码
*/
public static void SetProxy(String sproxyHost, String sproxyPort, String sproxyUser, String sproxyPassword) {
proxyHost = sproxyHost;
proxyPort = sproxyPort;
if (sproxyPassword != null && sproxyPassword.length() > 0) {
proxyUser = sproxyUser;
proxyPassword = sproxyPassword;
}
}
/**
* 取得代理设定
* @return
*/
private static Properties GetProxy() {
Properties propRet = null;
if (proxyHost != null && proxyHost.length() > 0) {
propRet = System.getProperties();
// 设置http访问要使用的代理服务器的地址
propRet.setProperty("http.proxyHost", proxyHost);
// 设置http访问要使用的代理服务器的端口
propRet.setProperty("http.proxyPort", proxyPort);
if (proxyUser != null && proxyUser.length() > 0) {
//用户名密码
propRet.setProperty("http.proxyUser", proxyUser);
propRet.setProperty("http.proxyPassword", proxyPassword);
}
}
return propRet;
}
/**
* 类测试函数
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//SetProxy("10.10.10.10", "8080");//代理服务器设定
String s = GetWebContent("http://www.my400800.cn
", "utf-8");
System.out.println(s);
}
}
发表评论
-
Java 线程中的Join、wait、notify,sleep
2016-06-22 17:28 4591.wait和notify这两个方法都是Object中的方法 ... -
Java多线程sleep(),join(),interrupt(),wait(),notify()
2016-06-22 17:25 513浅析 Java Thread.join() ... -
Java和C#运行命令行并获取返回值 运行bat文件
2015-08-04 10:45 1340Java运行命令行的例子 import java.io.B ... -
HttpClient的超时用法小记
2012-05-06 08:23 985HttpClient在使用中有两个超时时间,是一直接触 ... -
JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
2012-05-05 21:29 799在多线程大师Doug Lea的 ... -
XPath 语法 org.dom4j.Document
2012-02-07 13:12 1346XPath 使用路径表达式 ... -
Nutch命令大全
2011-12-28 15:12 1432Nutch采用了一种命令的方式进行工作,其命令可以是对局域网方 ... -
Nutch1.2搜索引擎使用详解
2011-12-27 17:12 1693Nutch作为一款刚刚诞生 ... -
ECLIPSE java.lang.OutOfMemoryError: PermGen space 错误
2011-12-21 15:03 1125ECLIPSE 最近一段时间经常报错,看了日志,有如下错误信息 ... -
nutch环境配置在windows系统上(借助Cygwin)
2011-11-16 11:09 1806nutch环境配置在windows系统上必须要安装【Cygwi ... -
Heritrix 和 Nutch 比较与分析(java开源网络爬虫)
2011-11-15 11:01 7474Heritrix项目介绍 Heritrix工程 ... -
heritrix 下载、安装、配置、以及简单开发
2011-11-04 11:36 1400一、下载: 到www.sourcef ... -
java 如何判断Socket已断开
2011-09-14 13:34 1742最近在开发中遇到一个问题,就是如何判断远端服务器是否已经断开连 ... -
java 程序内存溢出问题查找
2011-04-10 18:00 987这段是时间用java swing做了一个小程序,但是运行一点时 ... -
jtable 隐藏表头标题行
2011-04-08 10:59 3282今天需要把JTable的表头也就是标题行给隐藏掉,在晚上找了一 ... -
java FrameView 启动最大化
2011-03-30 08:49 1539FrameViewzView = new ... -
Swing窗口Linux下不支持最大化问题
2011-03-28 10:15 1009由于最近一直在Linux下工作,今天遇到了Swing窗口不能最 ... -
swing下 改变窗口样式为windows风格(swing控件样式不美观解决方案)
2011-03-02 15:52 2645在windows环境下可以用下面两种方法使窗口显示window ... -
swt Browser 如何打开新url链接地址
2011-02-28 17:27 1716上一篇文章【java swing 内置浏览器打开网页显示fla ... -
java swing 内置浏览器打开网页显示flash图表-swt Browser应用
2011-02-25 16:45 3877今天在网上找了好久如何用在java swing打开网页,从而实 ...
相关推荐
通过上述分析我们可以看出,Java抓取网页数据主要依赖于`java.net.HttpURLConnection`和`java.util.regex.Pattern`等类。这些工具能够帮助开发者轻松地构建网络请求,并通过正则表达式解析响应内容。此外,还需注意...
Java实现WebSpider,也被称为网络爬虫或网页抓取,是一种自动浏览互联网并提取网页信息的技术。在本项目中,"蓝蜘蛛"是这个爬虫程序的代号,它使用Java编程语言进行开发。Java因其跨平台性、稳定性和丰富的库支持,...
Java爬虫程序通常会利用HttpURLConnection或HttpClient等类库来发送HTTP请求,获取网页HTML内容。接着,使用Jsoup或BeautifulSoup等解析库解析HTML,提取所需数据,如文本、链接等。对于定时任务,可以结合Quartz或...
5. **深度限制**:设定爬虫抓取的深度,避免无限制地遍历网页。这可以通过维护一个表示层级的变量来实现,每访问一个新链接,层级加一,超过设定值则停止。 6. **异步处理**:为了提高效率,可以考虑使用多线程或...
在IT行业中,网页下载是一个常见的需求,特别是在自动化测试、数据抓取或备份网站内容时。本项目提供的"现实网页下载java源代码"旨在帮助开发者实现这一功能。Java作为一种多用途的编程语言,提供了多种方法来下载...
Java网页爬虫是一种用于自动化获取网页内容的程序,它能够模拟浏览器的行为,通过HTTP或HTTPS协议与服务器交互,抓取并解析网页上的信息。在这个Java网页爬虫类源码中,我们可以深入理解如何构建一个基本的网络爬虫...
【标题】WebSpider蓝蜘蛛网页抓取 v5.1 是一款专用于网页数据抓取的软件,它在Java平台上开发,适用于毕业设计等项目。这款工具可以帮助用户自动化地从互联网上搜集信息,提取有价值的数据,为数据分析、网站内容...
在IT行业中,"URL域名抓取"是一种常见的网络数据挖掘技术,主要目的是从网页或互联网上批量收集和整理URL(统一资源定位符),也就是我们常说的网址。这项技术广泛应用于搜索引擎优化、数据分析、市场研究等领域。...
网页爬虫是互联网数据挖掘的一种常见工具,它自动地遍历网络,抓取网页内容,为数据分析、信息提取等提供便利。在这个项目中,我们看到的标题是“java做的一个类似网页爬虫的东西”,这意味着作者使用Java编程语言...
例如,iText和Flying Saucer等库支持在转换过程中自动分页,根据设定的纸张大小和边距进行内容布局。 4. **样式处理**:HTML中的CSS样式需要被正确地转换为PDF的样式。这包括字体、颜色、布局等。一些库会尽可能地...
Java爬虫技术是一种用于自动化网页数据提取的编程技术,它可以帮助开发者从互联网上获取大量信息。在这个案例中,我们以爬取搜狐新闻为例,但同样的方法可以应用于其他网站,如网易和新浪。以下是对这个Java爬虫项目...
总之,这个"java 爬虫源码"项目提供了一个基础的网络爬虫实现,使用广度优先策略进行网页抓取,并允许用户设置爬取深度。通过学习和理解这个源码,开发者可以掌握网络爬虫的基本原理和Java实现方法,为进一步开发更...
在Java编程中,下载网络图片并将其保存到本地是一个常见的任务,特别是在开发涉及网页抓取、数据备份或者网络资源管理的项目中。这个过程通常包括以下几个步骤:建立网络连接、发送请求、接收响应数据以及将数据保存...
9. **多级页面抓取**:一个完整的爬虫不仅限于抓取单个页面,还可能需要跟踪链接,抓取整个网站或特定内容的网页。 10. **动态内容处理**:现代网页常使用JavaScript来动态加载内容,如Ajax请求。这时,可能需要...
Java作为一门广泛使用的编程语言,拥有强大的网络请求库,如HttpURLConnection、HttpClient和OkHttp等,这些库可以帮助我们发送HTTP请求,获取网页内容。在本项目中,我们将利用这些库来访问CSDN的文章页面,并下载...
在本项目中,我们主要探讨如何使用Java编程语言来实现一个网络爬虫,目标是抓取亚马逊网站上关于iPhone的相关信息。爬虫是自动化获取网页数据的重要工具,它可以帮助我们批量收集、处理和分析网络上的大量信息。在这...
Java图片爬虫程序是一种利用Java编程语言开发的自动化工具,用于在网络上抓取并下载指定网页上的图片资源。这种程序通常包含多个关键模块,包括网络请求、HTML解析、图片下载以及数据存储。在这个案例中,爬虫还具备...
在Java环境下,利用HTTPURLConnection进行网页下载,使用正则表达式或DOM解析库解析HTML,构建URL队列和网页内容数据库。通过实验验证,该搜索引擎能够有效地抓取和处理网页,为用户提供精准的搜索结果。 五、结论 ...
Java爬虫是一种使用Java编程语言实现的网络爬虫技术,主要用于自动抓取互联网上的信息。在Java中,我们可以利用各种库来构建一个简单的爬虫,例如Jsoup、Apache HttpClient、WebMagic等。以下是对Java爬虫实现的一些...
9. **定时任务(Scheduled Tasks)**:如果项目需要定期抓取数据,可能会用到Java的ScheduledExecutorService或者Quartz等调度框架,设定定时任务来按需更新股票数据。 10. **数据清洗与预处理**:抓取的数据可能...