导航:首页 > 小微电影 > java爬小电影

java爬小电影

发布时间:2022-10-20 04:43:35

① 如何使用java写一个轻量的爬取动态内容 的爬虫

最近刚好在学这个,对于一些第三方工具类或者库,一定要看官方tutorial埃 学会用chrome network 分析请求,或者fiddler抓包分析。 普通的网页直接用httpclient封装的API就可以获取网页HTML了,然后 JSoup、正则 提取内容。

② 能用java写出一个爬取音频和视频的爬虫吗

这个肯定是可以的,不过我只做过爬取文本和图片的。没做过爬视频和音频的,不过就我所知是可以的

③ java网络爬虫爬取web视频资源,并下载怎么做

/*这是个下载图片的爬虫,给你参考一下*/

import java.io.File;
import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DownMM {
public static void main(String[] args) throws Exception {
//out为输出的路径,注意要以\\结尾
String out = "D:\\JSP\\pic\\java\\";
try{
File f = new File(out);
if(! f.exists()) {
f.mkdirs();
}
}catch(Exception e){
System.out.println("no");
}

String url = "http://www.mzitu.com/share/comment-page-";
Pattern reg = Pattern.compile("<img src=\"(.*?)\"");
for(int j=0, i=1; i<=10; i++){
URL uu = new URL(url+i);
URLConnection conn = uu.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko");
Scanner sc = new Scanner(conn.getInputStream());
Matcher m = reg.matcher(sc.useDelimiter("\\A").next());
while(m.find()){
Files.(new URL(m.group(1)).openStream(), Paths.get(out + UUID.randomUUID() + ".jpg"));
System.out.println("已下载:"+j++);
}
}
}
}

④ 用java编写网络爬虫,用来爬网络音乐资源,再返回java页面显示该怎么实现

下面是源代码,希望可以帮到你~~
package com.ly.mainprocess;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.Consts;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class Test1 {
public static void main(String[] args){
Test1 test1 = new Test1();
System.out.println(test1.process("******","******"));
}

@SuppressWarnings("deprecation")
public boolean process(String username,String password) {
boolean ret=false;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget;
HttpResponse response;
HttpEntity entity;

List<Cookie> cookies;

//组建登录的post包
HttpPost httppost = new HttpPost("http://login.hi.mop.com/Login.do"); // 用户登录
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("nickname", username));
nvps.add(new BasicNameValuePair("password", password));
nvps.add(new BasicNameValuePair("origURL", "http://hi.mop.com/SysHome.do"));
nvps.add(new BasicNameValuePair("loginregFrom", "index"));
nvps.add(new BasicNameValuePair("ss", "10101"));

httppost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));
httppost.addHeader("Referer", "http://hi.mop.com/SysHome.do");
httppost.addHeader("Connection", "keep-alive");
httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httppost.addHeader("Accept-Language", "zh-CN,zh;q=0.8");
httppost.addHeader("Origin", "http://hi.mop.com");
httppost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36");
response = httpclient.execute(httppost);
entity = response.getEntity();
// System.out.println("Login form get: " + response.getStatusLine());
EntityUtils.consume(entity);

// System.out.println("Post logon cookies:");
cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
// System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
// System.out.println("- " + cookies.get(i).toString());
}
}

//进行页面跳转
String url = ""; // 页面跳转
Header locationHeader = response.getFirstHeader("Location");
// System.out.println(locationHeader.getValue());
if (locationHeader != null) {
url = locationHeader.getValue(); // 得到跳转href
HttpGet httpget1 = new HttpGet(url);
response = httpclient.execute(httpget1);
// 登陆成功。。。hoho
}
entity = response.getEntity();
// System.out.println(response.getStatusLine());
if (entity != null) {
// System.out.println("Response content length: " + entity.getContentLength());
}
// 显示结果
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
// System.out.println(line);
}

//自动打卡
// 访问网站的子网页。
HttpPost httppost1 = new HttpPost("http://home.hi.mop.com/ajaxGetContinusLoginAward.do"); // 设置个人信息页面
httppost1.addHeader("Content-Type", "text/plain;charset=UTF-8");
httppost1.addHeader("Accept", "text/plain, */*");
httppost1.addHeader("X-Requested-With", "XMLHttpRequest");
httppost1.addHeader("Referer", "http://home.hi.mop.com/Home.do");
response = httpclient.execute(httppost1);
entity = response.getEntity();
// System.out.println(response.getStatusLine());
if(response.getStatusLine().toString().indexOf("HTTP/1.1 200 OK")>=0){
ret = true;
}
if (entity != null) {
// System.out.println("Response content length: " + entity.getContentLength());
}
// 显示结果
reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {

} finally {
httpclient.getConnectionManager().shutdown();
}
return ret;
}
}

⑤ JAVA 电影类

根据需要些就是了

public class Movie{
private String name;
private String director;
Sprivate String tarring;
Moive(String name,String director,String tarring)
{
this.name=name;
this.director =director;
this.tarring =tarring;
}
static public void main(Stirng[] str){
Moive m=new Moive("三国演义","张纪中","唐国强");
}
}

⑥ Java源码 实现网络爬虫

//Java爬虫demo

importjava.io.File;
importjava.net.URL;
importjava.net.URLConnection;
importjava.nio.file.Files;
importjava.nio.file.Paths;
importjava.util.Scanner;
importjava.util.UUID;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

publicclassDownMM{
publicstaticvoidmain(String[]args)throwsException{
//out为输出的路径,注意要以\结尾
Stringout="D:\JSP\pic\java\";
try{
Filef=newFile(out);
if(!f.exists()){
f.mkdirs();
}
}catch(Exceptione){
System.out.println("no");
}

Stringurl="http://www.mzitu.com/share/comment-page-";
Patternreg=Pattern.compile("<imgsrc="(.*?)"");
for(intj=0,i=1;i<=10;i++){
URLuu=newURL(url+i);
URLConnectionconn=uu.openConnection();
conn.setRequestProperty("User-Agent","Mozilla/5.0(WindowsNT6.3;WOW64;Trident/7.0;rv:11.0)likeGecko");
Scannersc=newScanner(conn.getInputStream());
Matcherm=reg.matcher(sc.useDelimiter("\A").next());
while(m.find()){
Files.(newURL(m.group(1)).openStream(),Paths.get(out+UUID.randomUUID()+".jpg"));
System.out.println("已下载:"+j++);
}
}
}
}

⑦ 怎样用java代码编写网络小程序,下载某网站的电影

首先搞清楚那个网站的流媒体协议是什么,然后google或是这种协议的传送编码规范,之后就是用socket向服务器发送符合编码规范的握手信息,建立起连接就ok了,就看着电影一点点地down下来吧

⑧ JAVa电影指南,分别为,1查看电影2添加电影3管理电影4电影人气求代码编写

楼主你这要求不够明确不好写啊
我这一看还以为是AV电影指南呢

⑨ 北大青鸟分享Java多线程爬虫实现

一、需求



1.定时抓取固定网站新闻标题、内容、发表时间和来源。


2.程序需要支持分布式、多线程



二、设计


1.网站是固定,但是未来也可能添加新的网站去抓取,每个网站内容节点设计都不一样,这样就需要支持动态可配置来新增网站以方便未来的扩展,这样就需要每次都需要开发介入。


2.网站html节点的结构可能发生变化,所以也要支持提取节点可配置。


3.怎样支持分布式?暂时最简单的想法就是:多机器部署程序,还有新搞一台或者部署程序其中一台制作一个定时任务,定时开启每台机器应该抓取哪个网站,暂时不能支持同一个网站同时可以支持被多台机器同时抓取,这样会比较麻烦,要用到分布式队列。所以暂时一个网站同时只会被单台机器抓取。


4.多线程,怎样多线程?多线程抓取我这边有两个实现:


(1)一个线程抓取一个网站,维护一个自己的url队列做广度抓取,同时抓取多个网站。如图:



(2)多个线程同时抓取不同的网站。如图:




以上两张办法其实各有优点,也给有缺点,看我们怎么取舍了。


方法1:每个线程创建一个自己的队列,图中的queue可以不用concurrentQueue,优点:不涉及到控制并发,每个网站一个线程抓取一个网站,抓取完毕即自动回收销毁线程。控制方便。缺点:线程数不可以扩展,例如当只有3个网站,你最多只能开3个线程来抓取,不能开更多,有一定的局限性。


方法2:N个线程同时抓取N个网站,线程数和网站数目不挂钩,优点:线程数可以调整并且和和抓取网站数量无关。3个网站我们可以开4个5个或者10个这个可以根据您的硬件资源进行调整。缺点:需要控制并发,并且要控制什么时候销毁线程(thread1空闲,并且queue为空不代表任务可以结束,可能thread2结果还没返回),当被抓取的网站响应较慢时,会拖慢整个爬虫进度。



三、实现


抓取方式最终还是选择了方法二,因为线程数可配置!


使用技术:


jfinal 用了之后才发现这东西不适合,但是由于项目进度问题,还是使用了。


maven项目管理


jetty server


mysql


eclipse 开发


项目需要重点攻破的难点:


(1)合理的控制N个线程正常的抓取网站,并且当所有线程工作都完成了并且需要抓取的队列为空时,N个线程同时退出销毁。


(2)不同网站设计节点不一样,需要通过配置解决各个网站需要抓取的URL和抓取节点内容在html节点的位置。


(3)个性化内容处理,由于html结构设计问题,北大青鸟http://www.kmbdqn.com/认为抓取的内容可能有些多余的html标签,或者多余的内容该怎么处理。


⑩ 怎么用java代码爬取网页中视频的源地址,不

第一种方式:1、用HttpClient模拟请求html 获取html源码;2、用jsoup方法抓取解析网页数据
第二种方式:1、用HttpClient模拟请求html 获取html源码;2、用正则抓取解析网页数据
有很多种方式能够获取html源码,源码获取到了数据解析就很容易了。你可以网络一下有很多

阅读全文

与java爬小电影相关的资料

热点内容
after3免费完整下载 浏览:946
监狱暴力犯罪电影 浏览:568
韩国电影爱情片打电话邂逅 浏览:817
北京送快递小哥电影 浏览:640
金希贞的全部韩剧电影在线观看 浏览:285
以前有部电影里面有个女鬼 浏览:548
木星上行国语版在线免费观看 浏览:421
《飞夺泸定桥》电影 浏览:478
1905下载的视频在哪个文件夹 浏览:972
美片 浏览:150
外国一个电影骑着发火的摩托 浏览:1000
晚上我经常和我的父母一块看电视英语 浏览:631
韩国阿强和阿珍是什么电影 浏览:312
看电影九排 浏览:308
天主教宗教题材电影 浏览:417
二战电影虎虎虎国语版 浏览:332
战斗机 电影 浏览:937
成龙教外国小孩功夫电影叫什么 浏览:672
看电影怎么英文怎么翻译软件 浏览:77