java爬取网站图片代码 java爬取网页内容

java爬虫读取某一张指定图片的url , 求解答使用jsoup解析到这个url就行,dom结构如下:
look-inside-cover类只有一个,所以直接找到这个img元素,获取src属性,就可以获取到图片路径 。
代码实现如下:
Document doc = Jsoup.connect("").get();
Elements imgs = doc.select(".look-inside-cover");
String imgUrl = imgs.get(0).attr("src");
jsoup的jar包分享给你:
java爬虫抓取指定数据根据java网络编程相关的内容,使用jdk提供的相关类可以得到url对应网页的html页面代码 。
针对得到的html代码 , 通过使用正则表达式即可得到我们想要的内容 。
比如,我们如果想得到一个网页上所有包括“java”关键字的文本内容 , 就可以逐行对网页代码进行正则表达式的匹配 。最后达到去除html标签和不相关的内容,只得到包括“java”这个关键字的内容的效果 。
从网页上爬取图片的流程和爬取内容的流程基本相同,但是爬取图片的步骤会多一步 。
需要先用img标签的正则表达式匹配获取到img标签,再用src属性的正则表达式获取这个img标签中的src属性的图片url,然后再通过缓冲输入流对象读取到这个图片url的图片信息 , 配合文件输出流将读到的图片信息写入到本地即可 。
java截取网址图片路径到指定目录 。并改写路径地址?1 你想把src里面的jpg图片保存到本地某个目录路径里面
2 你再把你保存的这个目录路径设置回去
3 抓取网页图片
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.sun.xml.internal.fastinfoset.stax.events.Util;
public class CatchPicture {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义抓取图片的 正则表达式
String regular="[*]b.*?/bbr/img src=https://www.04ip.com/"(.*?)\"alt=\'(.*?)\' style=\".*?\" class=\".*?\"
";
ListPicture list=new CatchPicture().lookWeiboPic("","GBK",regular,"2,1");
System.out.println(list.size());
}
//根据URL查看网站上的图片
public ListPicture lookWeiboPic(String url,String charset,String regular,String attIndex){
ListPicture list=new ArrayListPicture();
try {
//获取填写的url
//判断所属网站 获取 正则表达式
//获取图片存放到 list集合
if(!Util.isEmptyString(url)){
String htmls = getPageSource(url.trim(),charset);
Pattern pattern =null;
pattern = Pattern.compile(regular.trim());
if(!Util.isEmptyString(htmls)){
Matcher matcher = pattern.matcher(htmls);
//得到参数属性顺序
String[] sort = regular.trim().split(","); //下标:0 表示 标题title,1 表示 图片路径
//判断后缀后 得到网站的请求头部 ;得到
String[] suffix;
suffix =url.trim().split("cn");
String httphread = "";
if (suffix.length1) {
httphread = suffix[0] + "cn";
} else {
suffix = url.trim().split("com");
httphread = suffix[0] + "com";
}
//循环匹配找到的
while(matcher.find()){
Picture picture=new Picture();
//匹配出title
if (-1 == Integer.parseInt(sort[0])) {
// 页面上抓不到标题
picture.setTitle("");
} else {
// 去标题的#
String title=matcher.group(Integer.parseInt(sort[0])).replace("#", " ");
picture.setTitle(title);

推荐阅读