如何用jsoup一次性将一个文件夹中的html文档全部解析呢?

dirtymac 发布于 2013/08/26 09:27
阅读 349
收藏 0
就是不想一个个去解析,想要一次性直接全部解析!有没有大神可以赐教。
加载中
0
stevenliu
stevenliu

循环文件夹下的所有文件 对每一个遍历解析不就ok了嘛!

0
iSea
iSea
一次性这个是不行的,你可以读文件夹下的所有文件循环递归解析
0
dirtymac
dirtymac

引用来自“iSea”的答案

一次性这个是不行的,你可以读文件夹下的所有文件循环递归解析
public static void JD() throws IOException{
		try {
			Class.forName("com.mysql.jdbc.Driver"); System.out.println("Success loading Mysql Driver!");
			} catch (Exception e) {
			System.out.print("Error loading Mysql Driver!");
			e.printStackTrace(); }
		for(int i =0;i<=20;i++){
		File input =new File("/Users/dirty/Downloads/、网页/网页6/华为C8813/京东/jd42.html");
		Document doc=Jsoup.parse(input,"GB18030");
		Elements ele=doc.getElementsByClass("comment-content");
		String user=ele.get(i).select("dd").first().text();
		Connection conn =null;
		Statement stmt = null;
		try{
			conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/Test?useUnicode=true&characterEncoding=GB2312", "root", "");;
			stmt =(Statement) conn.createStatement();
		}
		catch(SQLException e1){
			e1.printStackTrace();
		}
try{
			String sql=null;
			sql="insert into Details(CommentID,MarketID,ProductID,Comments,Stars)values('"+0+"','"+2+"','"+15+"','"+user+"','"+5+"')";
			stmt.executeUpdate(sql);
				}
			
			
			
			catch(SQLException e){
				e.printStackTrace();
			}
		
			
			}
		}
就是这段代码,怎么修改啊?
iSea
iSea
你的for循环是干什么用的?要读出文件列表循环才行
0
dirtymac
dirtymac

引用来自“stevenliu”的答案

循环文件夹下的所有文件 对每一个遍历解析不就ok了嘛!

你看看我上面po的代码,我试过循环遍历,行不通啊。
stevenliu
stevenliu
好吧 反正我闲来无事 你加我q 我帮你解决吧 qq 1 3 0 0 1 1 9 6 6 7 3
0
dirtymac
dirtymac

引用来自“dirtymac”的答案

引用来自“iSea”的答案

一次性这个是不行的,你可以读文件夹下的所有文件循环递归解析
public static void JD() throws IOException{
		try {
			Class.forName("com.mysql.jdbc.Driver"); System.out.println("Success loading Mysql Driver!");
			} catch (Exception e) {
			System.out.print("Error loading Mysql Driver!");
			e.printStackTrace(); }
		for(int i =0;i<=20;i++){
		File input =new File("/Users/dirty/Downloads/、网页/网页6/华为C8813/京东/jd42.html");
		Document doc=Jsoup.parse(input,"GB18030");
		Elements ele=doc.getElementsByClass("comment-content");
		String user=ele.get(i).select("dd").first().text();
		Connection conn =null;
		Statement stmt = null;
		try{
			conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/Test?useUnicode=true&characterEncoding=GB2312", "root", "");;
			stmt =(Statement) conn.createStatement();
		}
		catch(SQLException e1){
			e1.printStackTrace();
		}
try{
			String sql=null;
			sql="insert into Details(CommentID,MarketID,ProductID,Comments,Stars)values('"+0+"','"+2+"','"+15+"','"+user+"','"+5+"')";
			stmt.executeUpdate(sql);
				}
			
			
			
			catch(SQLException e){
				e.printStackTrace();
			}
		
			
			}
		}
就是这段代码,怎么修改啊?
那个for循环是循环读出每一条评论用的,我需要把每一条评论存到数据库中的。
0
kiwivip
kiwivip
只能多线程了,开1000个线程一起解析吧~
返回顶部
顶部