您的位置:首页 > 编程语言 > Java开发

java正则表达式的使用-抓取百度搜索的结果

2017-10-05 16:38 507 查看
匹配内容如下:



代码:

package 正则表达式;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test10 {
public static void main(String[] args) throws IOException{
String myurl = "https://www.baidu.com/s?wd=taylor%20swift%20mp3&pn=10&oq=taylor%20swift%20mp3&ie=utf-8&usm=2&rsv_pq=ff8b39520001286a&rsv_t=f7c7DNfpm61ToQk%2Bw4RXxlLaFp2pPMwXtamUyuPKaINlKAKc2PLnnctnQXk";
URL url = new URL(myurl);
URLConnection conn = url.openConnection();
String userAgent = "Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0";
conn.addRequestProperty("User-Agent", userAgent);
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String str = null;
StringBuffer sb = new StringBuffer();
while((str = br.readLine())!=null){
sb.append(str);
}
String fetchResult = sb.toString();
br.close();

String[] split = fetchResult.split("<div\\sclass=\"result\\sc-container\\s\"");
if(split.length > 0){
//匹配每个搜索结果的标题
Pattern h3Complie = Pattern.compile("<a.*?</a>");
//匹配每个搜索结果的概述
Pattern divCompile = Pattern.compile("<div\\sclass=\"c-abstract\">.*?</div>");
for(int i = 1; i < split.length; i++){
Matcher matcher = h3Complie.matcher(split[i]);
if(matcher.find())
System.out.println(matcher.group());

Matcher matcher2 = divCompile.matcher(split[i]);
if(matcher2.find())
System.out.println(matcher2.group());
}
}
}
}


很基础的入门练习,就不贴注释了。

执行结果:

<a href="http://www.baidu.com/link?url=FWE7spxcVyALEVMvv5tmgY0FiZ5N0MwcvmQzohl6djKvUNGJMwJ2DtZda8udrQuwJ3PKB6O87PCS-7MSVjPwm_" target="_blank" data-click="{'F':'778317EA','F1':'9D73F1E4','F2':'4CA6DE6B','F3':'54E5343F','T':'1507192462','y':'F97DEF97'}"><em>Taylor</em> <em>Swift</em> - I'd Lie @ <em>MP3</em>.com_土豆视频</a>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'2DF7FFF8' }" href = "http://www.baidu.com/link?url=_bOcfhyyDt2Rd639s6RolpSmYsqMy_KwG3_sY2fLJeBzR_rBhZclh5D_wgyssN9meUNHf0v8atUtqgMs0GguZa" target="_blank" ><em>Taylor</em> <em>Swift</em> 合集_微盘下载</a>
<div class="c-abstract"><em>Taylor</em> <em>Swift</em> - Wonderland.<em>mp3</em> 9.4 M 284 <em>Taylor</em> <em>Swift</em> - Wildest Dreams.<em>mp3</em> 8.5 M 567 <em>Taylor</em> <em>Swift</em> - White Horse.<em>mp3</em> 9 M 394 <em>Taylor</em> <em>Swift</em> - Welcome...</div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DD6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'3F5B3FC9' }" href = "http://www.baidu.com/link?url=pD60JeFSuKu2RGP68ZLB49mpadS3QDWWvS0eUxyaY6e11ZqhWp5GyosTYIAuR3s9" target="_blank" ><em>Taylor</em> <em>Swift</em>-Style.<em>mp3</em>_微盘下载</a>
<div class="c-abstract">通过新浪微盘下载 <em>Taylor</em> <em>Swift</em>-Style.<em>mp3</em>, 微盘是一款简单易用的网盘,提供超大免费云存储空间,支持电脑、手机等任意终端的文件存储、同步和分享,是您工作、学习、...</div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'789E6EDF' }" href = "http://www.baidu.com/link?url=dF3A0nHOUunm-_WaG-r1_BJo8CNqflDwRf5Bakzxe9JvNW5QCOEEyM7h1iF2yaVd" target="_blank" ><em>Taylor</em> <em>Swift</em> - Enchanted .<em>mp3</em>_微盘下载</a>
<div class="c-abstract"><em>Taylor</em> <em>Swift</em> - Enchanted .<em>mp3</em>保存到微盘 下载 免责声明5.6 M 喜欢(64) 举报 相关文档推荐 分享者信息 不带盐的糖不甜... 加关注 当前文件信息 浏览:...</div>
<a data-click="{ 'F':'778317EA', 'F1':'BD73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'5B
ae96
556F7F' }" href = "http://www.baidu.com/link?url=oewxAYI8zp0rvNwgZD2uEOvP3SZd1K55cg6Y1-H48HSY7RxV2pXE9MHtJtv0-vlJ8IUMQksqe53PsLwYhfB_rUyqhMm6Y6F9NNPQEl8jIfm" target="_blank" ><em>Taylor</em> <em>Swift</em>所有专辑和歌曲_百度文库</a>
<div class="c-abstract"><span class=" newTimeFactor_before_abs m">2015年6月30日 - </span><em>Taylor</em> <em>Swift</em> 所有专辑和歌曲 ——本人能找到的就这些,应该全了 ...吧,有些歌不止一 个版本,在此不列举《<em>Taylor</em> <em>Swift</em>》 2006 1)Tim McGraw 2) Pictur...</div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'1FEE73E4' }" href = "http://www.baidu.com/link?url=x4FY3EYyv1r7cyALV7KPIp0mAv2EARgu49w4B3xxLhGhdnhC5WedMpd_dcmE4CCAtieBCBlcRQNV5C_nkni9cWrGhnkLEwvLF6jR4ovysK3" target="_blank" >求<em>Taylor</em> <em>Swift</em> 所有歌曲<em>MP3</em>打包下载_百度知道</a>
<div class="c-abstract">上网易云音乐可以下载!<br><a href='http://zhidao.baidu.com/q?ct=17&pn=0&tn=ikaslist&rn=10&word=taylor%20swift%20mp3' target='_blank' class='c' >更多关于taylor swift mp3的问题>></a></div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DC6B', 'F3':'54E5342F', 'T':'1507192462', 'y':'F7D77EDD' }" href = "http://www.baidu.com/link?url=UTehvITkAA7A01tjcbpHn6o04hObvapf1SOWaW95BCzFVAFp4Myx6evInYeQRIRV3p-JrDMJzs_VEOKJZJARQ_" target="_blank" ><em>Taylor</em> <em>Swift</em>_歌曲(无损音质)_免费高速下载_51Ape.Com无损音乐网</a>
<div class="c-abstract">免费提供歌手<em>Taylor</em> <em>Swift</em>的无损音乐下载,歌曲格式均为APE,FLAC或WAV等... 14 专辑《1989(Deluxe)》分轨无损.flac <em>Taylor</em> <em>SwiftTaylor</em> <em>Swift</em> 15 我的歌声里.flac ...</div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'EB77FEEA' }" href = "http://www.baidu.com/link?url=2T_Gb-Wj9EjbRJqCksXXp6vYmUFRn4QpgytVlae31ZTUpHckVwUDh6OB43Jq83E6" target="_blank" ><em>Taylor</em> <em>Swift</em> - Love Story.<em>mp3</em>_微盘下载</a>
<div class="c-abstract"><em>Taylor</em> <em>Swift</em> - Love Story.<em>mp3</em>保存到微盘 下载 免责声明8.9 M 喜欢(91) 举报 相关文档推荐 分享者信息 Steven_军 加关注 当前文件信息 浏览:177753次 ...</div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'FFB9BFF1' }" href = "http://www.baidu.com/link?url=84u_AoohKQ1F2s1tPnw1Wel9DbCHwVPKrvUmwUfdMohRKZvglk07C62NTKZv41HFWXY5Zl294ERkHr9pdbSRkVShC-mp26GUmf1i03BCm2O" target="_blank" ><em>Taylor</em> <em>Swift</em> - 22.<em>mp3</em>_微盘下载</a>
<div class="c-abstract"><em>Taylor</em> <em>Swift</em> - 22.<em>mp3</em>保存到微盘 下载 免责声明7.6 M 喜欢(21) 举报 ...更多>>Ta的分享 <em>Taylor</em> <em>Swift</em> - I Kne... 当前文件信息 浏览:65896次 保存...</div>
<a data-click="{ 'F':'778317EA', 'F1':'9D73F1E4', 'F2':'4CA6DD6B', 'F3':'54E5343F', 'T':'1507192462', 'y':'B87EF6FB' }" href = "http://www.baidu.com/link?url=g21CJGkYfZ7AKXSy4Kmh-nz-b7kERn0kEeyuYbpgBFTQfRGihX9RsuNcKadWexot" target="_blank" ><em>Taylor</em> <em>Swift</em> - Red.<em>mp3</em>_微盘下载</a>
<div class="c-abstract">通过新浪微盘下载 <em>Taylor</em> <em>Swift</em> - Red.<em>mp3</em>, 微盘是一款简单易用的网盘,提供超大免费云存储空间,支持电脑、手机等任意终端的文件存储、同步和分享,是您工作、学习、...</div>


另存为html文件,浏览器的结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: