如何使用Java写爬虫来获取网页视频
-
方法1对于没有反爬虫机制(不多说直接上代码)
@SuppressWarnings(“all”)
public String getVideo() {
try {String pageUrl="要爬取的网址"; URL url=new URL(pageUrl); InputStream is=url.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String info=""; for(int i=0;i<3000;i++){ //我设置为网页的一共有3000 行 具体根据 你获取网页行数的大小来决定 info=br.readLine(); if(null!=info){ String urlRegex="src=\"(.*?\\.mp4)";//正则表达式 Pattern pattern = Pattern.compile(urlRegex); Matcher matcher = pattern.matcher(info); if (matcher.find()) {//比对成功 for (int j = 0; j <= matcher.groupCount(); j++) { String tmp = matcher.group(j); if (!tmp.startsWith("src=")) { System.out.println("ger mp4 src >"+tmp); } } } }
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
-
有反扒机制
访问 方式改成 以页面的形式访问
把上面的的访问方式替换成下面的内容就可以,如果反扒机制很强的话,就需要借助代理IP啦
// InputStream is=url.openStream();
// BufferedReader br = new BufferedReader(new InputStreamReader(is, “UTF-8”));HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"); BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
基本的 就介绍到这里 ,如果又不懂的可以在下面留言咨询我 获取扫描 二维码 来获取更多学习内容
![获取分布式开发资料等学习内容](微信扫码)