`
2277259257
  • 浏览: 518560 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

网页抓取--2(页面嵌套连接/嵌套页面)

 
阅读更多

通过JAVA的API可以顺利的抓取网络上的大部分指定的网页内容,现与大家分享一下这方法理解与心得。最简单的一种抓取方法就是:

Java代码  收藏代码
  1. URL url = new URL(myurl);  
  2.   
  3. BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream()));  
  4.   
  5. String s = "";  
  6.   
  7. StringBuffer sb = new StringBuffer("");  
  8.   
  9. while ((s = br.readLine()) != null) {  
  10.   
  11. i++;  
  12.   
  13. sb.append(s+"\r\n");  
  14.   
  15. }  

 

这种方法抓取一般的网页应该没有问题,但当有些网页中存在一些嵌套的redirect连接时,它就会报Server redirected too many times这样的错误,这是因为此网页内部又有一些代码是转向其它网页的,循环过多导致程序出错。如果只想抓取本URL中的网页内容,而不愿意让它有其它 的网页跳转,可以用以下的代码。

 

Java代码  收藏代码
  1. URL urlmy = new URL(myurl);  
  2.   
  3. HttpURLConnection con = (HttpURLConnection) urlmy.openConnection();  
  4.   
  5. con.setFollowRedirects(true);  
  6.   
  7. con.setInstanceFollowRedirects(false);  
  8.   
  9. con.connect();  
  10.   
  11. BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));  
  12.   
  13. String s = "";  
  14.   
  15. StringBuffer sb = new StringBuffer("");  
  16.   
  17. while ((s = br.readLine()) != null) {  
  18.   
  19. sb.append(s+"\r\n");  
  20.   
  21. }  

 

这样的话,抓取的时候程序就不会跳换其它页面去抓取其它的内容了,这就达到我们的目的了。

如果是我们是处于内部网的话,还需要专门给它加上代理, Java以特殊的系统属性为代理服务器提供支持,只要在上面的程序加上以下程序就可以了。

 

Java代码  收藏代码
  1. System.getProperties().setProperty( "http.proxyHost", proxyName );  
  2.   
  3. System.getProperties().setProperty( "http.proxyPort", port );  

 

这样的话就可以实现处于内部网中而向互联网抓取自己想要的东西了。

上面的程序抓取回来的全部内容都存放在sb这个字符串,我们就可以通过正则表达式对它进行分析,提取出自己想要的具体的内容,为我所用,呵呵,这是多么美妙的一件事情啊!!

分享到:
评论

相关推荐

    拔网页工具-仿站小工具v3.0.rar

    1. **HTML结构提取**:该工具能抓取网页的HTML代码,帮助用户理解页面的DOM结构,包括各个元素的嵌套关系和属性设置。 2. **CSS样式获取**:自动收集页面上的CSS样式规则,包括内联样式、内部样式表和外部样式表,...

    delphi抓取网页数据

    Web抓取,也称为网页抓取或网络爬虫,是一种自动化地从互联网上获取大量信息的技术。在Delphi中,我们可以使用 Indy 库或者 Wininet 库来实现HTTP请求,这两个库提供了丰富的API接口用于发送GET或POST请求,从而获取...

    基于 Redis 的 Scrapy 组件 .zip

    Scrapy-Redis 基于 Redis 的 Scrapy 组件。...发布https://github.com/rmax/scrapy-redis/wiki/History贡献...meta是一个包含子数据的嵌套 json。此函数提取此数据并发送另一个带

    网页文字抓取工具...

    总的来说,网页文字抓取工具是连接大数据与互联网信息的关键桥梁,它帮助我们高效地获取和利用网络上的非结构化数据,推动了各种领域的研究和发展。随着互联网规模的不断扩大,网页抓取技术也将持续演进,以应对更...

    使用iframe在网页中嵌入其他网页的方法

    在网页设计中,有时我们需要将一个网页的内容嵌入到另一个网页中,以便提供更丰富的信息展示或者集成多种服务。在这种情况下,`<iframe>` 标签成为了一个非常实用的工具。`iframe` 是 "inline frame" 的缩写,它允许...

    网页Table数据抓取源码,支持复杂合并表格

    网页Table数据抓取是Web开发中的一个重要技能,尤其在数据挖掘和分析中有着广泛的应用。这个源码项目专注于实现这一功能,特别强调了对复杂合并表格的支持,这意味着它能够处理那些行列合并,结构复杂的HTML表格,这...

    python网页爬虫--美女网图片爬取

    在Python编程领域,网页爬虫是一项重要的技能,它允许我们自动化地从互联网上抓取大量数据,包括图像。本教程将聚焦于使用Python进行美女图片的网络爬取,这是一个典型的爬虫项目,可以帮助我们理解爬虫的基本原理和...

    运用正则抓取网页数据

    "运用正则抓取网页数据"的主题聚焦于使用正则表达式(Regular Expression,简称Regex)来提取网页中的有用信息。下面将详细介绍正则表达式的基本概念、在网页数据抓取中的应用以及如何结合编程语言实现这一过程。 ...

    网页flash抓取器123.zip

    2. **智能分析**:分析网页结构,定位并抓取隐藏或嵌套的Flash内容。 3. **一键保存**:用户只需简单点击,即可将Flash内容保存到本地,无需复杂的操作步骤。 4. **多种格式支持**:除了保存SWF原始格式,可能还支持...

    htmlparser实现网页上抓取数据

    假设我们要从网页上的表格中抓取数据,可以监听`<tr>`和`<td>`标签。在`handle_starttag()`和`handle_endtag()`中,我们可以记录当前的嵌套层级,并在`handle_data()`中根据层级提取表格内的数据。 4. **配合...

    DIV+CSS网页制作对搜索引擎优化的优势分析整理.pdf

    使用DIV+CSS重构的页面容量要比TABLE编码的页面文件容量小得多,前者一般只有后者的1/2大小。 二、 DIV+CSS的网页制作对搜索引擎优化(SEO) 的优势 DIV+CSS网页制作技术对搜索引擎优化的优势在于其能够减少页面...

    自动抓取网页中的flash

    本文将详细讲解如何自动抓取网页中的Flash内容,以及相关的技术背景和实现方法。 首先,理解“自动抓取网页中的Flash”意味着我们需要从网页源代码中定位并提取出Flash对象。Flash内容在网页上通常以SWF文件形式...

    精易模块---用于网页操作及其它功能的易语言模块

    网页_取地址 说明:取网页的页面地址 网页_取顶级域名 说明:返回当前网页的顶级域名,如"www.3600gz.cn" 网页_取文本 说明:取网页的文本 网页_取选中文本 说明:取当前网页上选中的网页文本 网页_取选中源码 ...

    抓取策略web信息检索与数据抓取宽度优先遍历拓展PPT资料.pptx

    2. **避免无限循环**:对于存在无限深层链接的网站,宽度优先遍历能确保爬虫不会陷入深层页面而无法返回,从而有效地管理抓取资源。 3. **找到最短路径**:在网页之间的跳转中,BFS有助于找到两个页面间的最短链接...

    php自己写的获取页面的代码

    在PHP编程中,获取网页内容是一项常见的任务,用于抓取数据、分析网页或者模拟用户行为。标题中的"php自己写的获取页面的代码"指的是利用PHP编写的一个小程序,它能够从指定URL获取HTML或其他资源(如图片、CSS和...

    爬虫jsp获取网页源码

    爬虫是互联网数据挖掘的重要工具,它能够自动地遍历网页,抓取所需信息。在JSP环境下,我们可以通过编写后端代码来实现这一功能,同时结合前端交互,使得用户可以输入特定网址来获取其源码。 首先,我们需要了解JSP...

    Python学习笔记之抓取某只基金历史净值数据实战案例

    2. **数据抓取**:首先,我们需要初始化Selenium的Webdriver,访问目标网页(http://fund.eastmoney.com/f10/jjjz_519961.html)。通过定位元素ID "pagebar",我们可以找到总页数,并计算出需要抓取的总页数。 3. *...

    c#抓取京东价格并解析json

    在IT行业中,网络爬虫是一种常见的技术,用于自动地从互联网上抓取数据。本教程主要聚焦于使用C#编程语言来抓取京东网站上的商品价格,并对抓取到的数据进行JSON格式的解析。这对于那些想要开发自己的京东价格监控...

    浏览器插件-易web工具箱(模拟请求、图片抓取、视频跳广告、自定义标签、拦截请求、修改响应体、鼠标特效、弹窗提醒等)

    自制浏览器插件,拥有插件后台,能...后台记录访问网页记录、桌面弹窗提醒、改变鼠标样式及设置鼠标特效、网页收藏、二维码解析与生成等14大功能,网页右键可以捕获元素信息,进行页面元素拦截,支持网页图片批量抓取等

    snoopy手册中文版

    1. **网页抓取**:Snoopy可以抓取网页内容,并将结果存储在 `$this->results` 变量中。 2. **去除HTML标签**:提供去除HTML标签的功能,以便于提取纯文本内容。 3. **链接抓取**:专门用于抓取网页中的所有链接。 4....

Global site tag (gtag.js) - Google Analytics