如何用HttpClient从网页中抓取图片

问题描述

网页中有这样一段代码现实了一张图片<imgborder="0"Align="center"src="image.do"/>

我该如何通过httpclient类获取这张图片呢?我试过下面这个方法但是获取的图片打不开,我怀疑获取的根本就不是图片,而是用来生成图片的程序,求大神指点HttpClientclient=newHttpClient();GetMethodget=newGetMethod("http://xk.fudan.edu.cn/xk/img.do");client.executeMethod(get);FilestoreFile=newFile("d:/sss.bmp");FileOutputStreamoutput=newFileOutputStream(storeFile);//得到网络资源的字节数组,并写入文件output.write(get.getResponseBody());output.close();get.releaseConnection();

解决方案

解决方案二:
可以啊,它是获取那张图片的字节流然后写到已知的一个空图片文件中去。
解决方案三:
packagecom.catchimage;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjavax.servlet.http.HttpServletRequest;importorg.apache.commons.httpclient.*;importorg.apache.commons.httpclient.methods.GetMethod;importorg.apache.commons.httpclient.params.HttpMethodParams;publicclassCatchImage{privatestaticHttpServletRequestreq;publicstaticHttpServletRequestgetReq(){returnreq;}privatestaticStringrootAddress="http://www.google.com.hk/intl/zh-CN/images/logo_cn.png";@SuppressWarnings("deprecation")publicstaticvoidmain(String[]args){HttpClienthttpClient=newHttpClient();httpClient.setConnectionTimeout(5000);httpClient.setTimeout(5000);GetMethodgetMethod=newGetMethod(rootAddress);getMethod.getParams().setContentCharset("UTF-8");getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,newDefaultHttpMethodRetryHandler());try{intstatusCode=httpClient.executeMethod(getMethod);if(statusCode==HttpStatus.SC_OK){FilestoreFile=newFile("d:/google.png");FileOutputStreamoutput=newFileOutputStream(storeFile);output.write(getMethod.getResponseBody());output.close();}}catch(HttpExceptione){e.printStackTrace();}catch(IOExceptione1){e1.printStackTrace();}finally{getMethod.releaseConnection();}}}

需要commons-codec-1.4.jar,commons-httpclient-3.1.jar,servlet-api-2.5.jar,
解决方案四:
我是抓取了google首页的头图,然后写到本地google.png中去,你跑下试试

时间: 2025-01-25 12:31:52

如何用HttpClient从网页中抓取图片的相关文章

实例-如何用python把网页中js全部转换为html?

问题描述 如何用python把网页中js全部转换为html? 有现成实例吗..谢 了 解决方案 用fiddler调试下,看js执行如何获取的网页,然后程序中模仿. 解决方案二: js怎么转html,好像,没有这么一个转换关系.

《Clojure数据分析秘笈》——1.9节从网页中抓取文本数据

1.9 从网页中抓取文本数据网页中的数据并不全都存在表中.一般而言,获取非表格式的数据会更为复杂,而且取决于网页的结构. 1.9.1 准备工作首先,使用与上一种方法中相同的依赖和require声明.接下来,确定需要抓取数据的网页文件.上传一个文件至http://www.ericrochester.com/clj-data-analysis/data/small-sample-list.html.这是一个更接近于现代的网页示例.在这个网页中,使用section和article标签以及HTML5的其

如何用正则把网页中的指定的字高亮显示代码

不劳而获一次,这个子虚乌有前辈已经给出了非常好的解决方案:我直接把代码贴出来了:  代码如下 复制代码  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3

ASP.NET实现抓取网页中的链接

asp.net|链接|网页 输入一个地址,就可以把那个网页中的链接提取出来,下面这段代码可以轻松实现,主要的是用到了正则表达式.      GetUrl.ASPx代码如下:      <%@ Page Language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" CodeBehind="GetUrl.aspx.vb&

php结合正则批量抓取网页中邮箱地址

  php如何抓取网页中邮箱地址,下面我就给大家分享一个用php抓取网页中电子邮箱的实例. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $url='http://www.3lian.net'; //要采集的网址 $content=file_get_contents($url); //echo $content; function getEmail($str) { //$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z

爬取 html js java-大神啊!如何用HTTP请求调用网页中的脚本啊!神er

问题描述 大神啊!如何用HTTP请求调用网页中的脚本啊!神er 大神们,我现在想做一个东西,就是要在百度网盘上下载东西,手动下载的时候要点击两个按钮,我用程序怎么实现这两次点击呢?应该向着哪个方向解决这个问题呢,神er. 我看了下html代码,里面是调用的JS,JS又调用了别的什么玩意,这个是点击第一个按钮的click触发代码,第二个按钮在静态的HTML上找不到啊,神啊,出来吧!! function(B){ var A=disk.util.ViewShareUtils.viewShareData

求教如何通过python抓取网页中表格信息

问题描述 求教如何通过python抓取网页中表格信息 刚刚开始学习python 不清楚如何通过python抓取网页中的表格信息 比如给定一个student.html 里面有学号.姓名.性别等信息 怎么样写才能够输入学号 读出其他信息? 解决方案 用正则表达式,表格数据放在table->tr->td中 解决方案二: 输入学号然后服务器在给你其他数据,应该是一个post的过程-你可以抓包看一下整个过程-至于提取特定的信息,你可以先看下整个表格的结构,再有针对性的写个正则表达式来提取出信息- 解决方

javascript-请问网页中如何用js实现跳转到指定行数?

问题描述 请问网页中如何用js实现跳转到指定行数? 如题,请问如何用js实现点击跳转到相应的网页位置(当前网页的位置,如回到顶部) 是否可以实现跳转到制定div?还是要指定跳转到坐标?求一个实例.谢谢先~ 解决方案 可以跳转到指定锚点 url中添加 url#aaa

javascript-python爬虫如何抓取包含JavaScript的网页中的信息

问题描述 python爬虫如何抓取包含JavaScript的网页中的信息 这里本科生一枚..做本研要求抓取一些数据碰到了一些问题求指教> <我想要抓取汽车之家上关于供应商的一些数据,然后在车型详情页里找到了关于供应商的框架源代码如下(只截取有用部分):<br> //属性<br> document.domain = "autohome.com.cn";<br> var page=1;<br> var parameters = {