大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍Java如何通过URL获取公众号文章生成HTML,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的利津网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
说明:通过公众号URL获取的内容,文字可以正常显示,但是图片存在跨域访问的问题,微信不允许跨域访问公众号图片,所以需要将公众号图片从存入本地后,再上传至OSS,然后把HTML中的图片全部替换为自己的OSS地址就可以了
这里就需要在后台对HTML进行DOM的解析,需要用的Jsoup
controller
package com.iueang.controller; import java.io.File;import java.util.HashMap;import java.util.Map; import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody; import com.iueang.util.DownLoadImg;import com.iueang.util.GetBody;import com.iueang.util.OssUtil2;import com.iueang.util.UrlUtil;@Controllerpublic class TestUrl { @RequestMapping("tohtml") public String tohtml() { return "html/index.html"; } @RequestMapping("getHtml") @ResponseBody public Map
util工具类
GetBody类
package com.iueang.util; import java.util.regex.Matcher;import java.util.regex.Pattern; public class GetBody { public static String getSubUtilSimple(String html, String reg) { Pattern pattern = Pattern.compile(reg);// 匹配的模式 Matcher m = pattern.matcher(html); while(m.find()){ return m.group(1); } return ""; } }
OssUtil类
package com.iueang.util; import java.io.File;import java.util.HashMap;import java.util.Map; import com.aliyun.oss.OSSClient;import com.aliyun.oss.model.ObjectMetadata; public class OssUtil2 { //以下几个参数值必填,参考文章最后文档 static String endpoint = "http://oss-cn-qingdao.aliyuncs.com"; static String accessKeyId = "oss获取"; static String accessKeySecert = "oss获取"; static String bucketName = "yueang2"; /** * 上传单个文件到OSS * @param file 要上传的文件File对象 * @param objName 上传后的文件名,包含文件夹,比如 game/game/test.txt * @return */ public static boolean uploadFileToOss(File file, String objName) { try { OSSClient ossClient = null; try { ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecert); }catch (Exception e){ e.printStackTrace(); } ObjectMetadata meta = new ObjectMetadata(); ossClient.putObject(bucketName, objName, file, meta); ossClient.shutdown(); } catch (Exception e) { e.printStackTrace(); return false; } return true; }}
DownLoadImg类
package com.iueang.util; import java.io.ByteArrayOutputStream;import java.io.DataInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import java.util.UUID; import sun.misc.BASE64Encoder;public class DownLoadImg { public static String downloadPicture(String urlList) { String filename="iueang"+UUID.randomUUID().toString()+".png"; String path="D:/m2/"+filename; URL url = null; try { url = new URL(urlList); DataInputStream dataInputStream = new DataInputStream(url.openStream()); FileOutputStream fileOutputStream = new FileOutputStream(new File(path)); ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int length; while ((length = dataInputStream.read(buffer)) > 0) { output.write(buffer, 0, length); } BASE64Encoder encoder = new BASE64Encoder(); String encode = encoder.encode(buffer); fileOutputStream.write(output.toByteArray()); dataInputStream.close(); fileOutputStream.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println("Download返回的filname="+filename); return filename; }}
以上是“Java如何通过URL获取公众号文章生成HTML”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!