java从网页中提取图片地址总结
- 格式:docx
- 大小:20.25 KB
- 文档页数:4


java根据图⽚路径下载图⽚并保存到本地⽬录内容import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import .URL;import .URLConnection;public class DownloadImage {/*** @param args* @throws Exception*/public static void main(String[] args) throws Exception {// TODO Auto-generated method stubdownload("/1/3/B/1_li1325169021.jpg", "1_li1325169021.jpg","d:\\image\\");}public static void download(String urlString, String filename,String savePath) throws Exception {// 构造URLURL url = new URL(urlString);// 打开连接URLConnection con = url.openConnection();//设置请求超时为5scon.setConnectTimeout(5*1000);// 输⼊流InputStream is = con.getInputStream();// 1K的数据缓冲byte[] bs = new byte[1024];// 读取到的数据长度int len;// 输出的⽂件流File sf=new File(savePath);if(!sf.exists()){sf.mkdirs();} // 获取图⽚的扩展名String extensionName = filename.substring(stIndexOf(".") + 1);// 新的图⽚⽂件名 = 编号 +"."图⽚扩展名String newFileName = goods.getProductId()+ "." + extensionName;OutputStream os = new FileOutputStream(sf.getPath()+"\\"+filename);// 开始读取while ((len = is.read(bs)) != -1) {os.write(bs, 0, len);}// 完毕,关闭所有链接os.close();is.close();}}。
java 获取路径在日常开发中,获取文件路径是一个常见任务,特别是在使用java实现多层次的文件路径交互时,更是重要。
对于java开发人员来说,可以借助一些已有的函数实现路径的获取,也可以通过某些特定的类来完成。
一、java中的路径获取方式在java中,开发者可以通过两种方式来获取路径,分别是通过文件操作类和文件系统路径类来实现。
1.文件操作类文件操作类是java.io.*包中的一个类,主要用于处理文件操作,提供了getCanonicalPath()、getAbsolutePath()和getPath()等方法,可以用于获取文件的路径,如下:// 使用File类中的getCanonicalPath()方法获取路径File file = new File(myfile.txtString canonicalPath = file.getCanonicalPath();System.out.println(CanonicalPath: + canonicalPath);// 使用File类中的getAbsolutePath()方法获取路径String absolutePath = file.getAbsolutePath();System.out.println(AbsolutePath: + absolutePath);// 使用File类中的getPath()方法获取路径String path = file.getPath();System.out.println(Path: + path);2.文件系统路径类文件系统路径类是java.nio.file.Paths是java.nio.file包中的一个类,是一个与文件系统相关的类,常用的方法有get()和toAbsolutePath(),可以用于获取路径,如下:// 使用Path中的get()方法获取路径String path = Paths.get(myfile.txttoString();System.out.println(Path: + path);// 使用Paths中的toAbsolutePath()方法获取路径Path path1 = Paths.get(myfile.txttoAbsolutePath();System.out.println(Path1: + path1);二、路径类型分析1.绝对路径绝对路径是指从操作系统根目录开始,包含全部文件和目录的路径,其特点是由一系列的“/”(反斜杠)组成,从第一个“/”开始一直到最后一个“/”结束,是一条完整的路径,不会受其他路径的影响。
Java-XPath解析爬取内容就爬取和解析内容⽽⾔,我们有太多选择。
⽐如,很多⼈都觉得Jsoup就可以解决所有问题。
⽆论是Http请求、DOM操作、CSS query selector筛选都⾮常⽅便。
关键是这个selector,仅通过⼀个表达式筛选出的只能是⼀个node。
如过我想获得⼀个text或者⼀个node的属性值,我需要从返回的element对象中再获取⼀次。
⽽我恰好接到了⼀个有意思的需求,仅通过⼀个表达式表⽰想筛选的内容,获取⼀个新闻⽹页的每⼀条新闻的标题、链接等信息。
XPath再合适不过了,⽐如下⾯这个例⼦:static void crawlByXPath(String url,String xpathExp) throws IOException, ParserConfigurationException, SAXException, XPathExpressionException {String html = Jsoup.connect(url).post().html();DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();Document document = builder.parse(html);XPathFactory xPathFactory = XPathFactory.newInstance();XPath xPath = xPathFactory.newXPath();XPathExpression expression = pile(xpathExp);expression.evaluate(html);}遗憾的是,⼏乎没有⽹站可以通过documentBuilder.parse这段代码。