版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、新浪天气预报新闻java抓去程序package*正则方式抓取新浪天气新闻上的新闻*地址*paramargs*/publicclassNewlist(privatestaticfinalLoglog=;/*测试*paramargs*/publicstaticvoidmain(Stringargs)(Newlistn=newNewlist();Stringk=();for(inti=0;i<i+)"href="","href="url=");Stringm=("news/2008/1119/");for(intl
2、=0;l<l+)/*由url地址获得新闻内容string新闻中的图片下载到本地,文中新闻地址改成本地地址* paramurl* return*/publicStringgetNewinfo(Stringurl)StringURL=""+url;)</p>",getContent(URL),30);for(inti=0;i<i+)Patternsp=("src="(.*)"");Matchermatcher=(si);if()Stringimageurl=analysis("src="
3、;(.*)"",si,1)0;if(!("")imageurl=""+imageurl;"新闻有图片:"+imageurl);Stringcontent=getContent(imageurl);Stringimages=("/");Stringimagename=images;”图片名:"+imagename);try(Filefwl=newFile(imagename);PrintWriteroutl=newPrintWriter(fwl);(content);();catch(I
4、OExceptione)(eplace(analysis("src="(.*)"",si,1)0,imagename);returns;publicStringgetNewList()Stringurl=""returngetNewList(getContent(url);privateStringgetNewList(Stringcontent)/images/a(.*).gif"width="70"height="65"></td>",content,5
5、0);Strings=analysis("<li>(.*)</li>",content,50);returns;privateStringanalysis(Stringpattern,Stringmatch,inti)Patternsp=(pattern);Matchermatcher=(match);Stringcontent=newStringi;for(inti1=0;();i1+)contenti1=(1);penConnection();oString();BufferedReaderbr=newBufferedReader(newInpu
6、tStreamReader(),"gb2312");Strings=""StringBuffersb=newStringBuffer();while(s=()!=null)(s+"rn");"长度+"+().length();return();)catch(Exceptione)(return"erroropenurl"+strUrl;)*/publicstaticStringgetContent(StringstrUrl)(URLConnectionuc=null;Stringall_cont
7、ent=null;try(all_content=newString();URLurl=newURL(strUrl);uc=();("User-Agent","Mozilla/(compatible;MSIE;WindowsXP;DigExt)");I!-");"Content-Length:"+();"Set-Cookie:"+("Set-Cookie");I!");oString();if(uc=null)returnnull;InputStreamins=();Byte
8、ArrayOutputStreamoutputstream=newByteArrayOutputStream();byte口str_b=newbyte1024;inti=-1;while(i=(str_b)>0)(str_b,0,i);)all_content=();oString();if(uc=null)return0;InputStreamins=();bytestr_b=newbyte1024;intbyteRead=0;Stringimages=("/");Stringimagename=images;Filefwl=newFile(imagename);F
9、ileOutputStreamfos=newFileOutputStream(fwl);while(byteRead=(str_b)>0)(str_b,0,byteRead););();();)catch(Exceptione)();("获取网页内容出错");)finally(uc=null;)return1;)方法二:xmlStringregex()中首先把搜索后的页面用流读取出来,再写个正则,去除不要的内容,再把最后的结果存成格式文件、或者直接存入数据库,用的时候再调用本代码只是显示html页的源码内容,如果需要抽取内容请自行改写publicstatic的正则式p
10、ackagerssTest;importimportimportimportimportimportimportimportimportimportimportpublicclassMyRSS(/*获取搜索结果的html源码*/publicstaticStringgetHtmlSource(Stringurl)(StringBuffercodeBuffer=null;BufferedReaderin=null;try(URLConnectionuc=newURL(url).openConnection();/*为了限制客户端不通过网页直接读取网页内容,就限制只能从浏览器提交请求*但是我们可以通
11、过修改http头的User-Agent来伪装,这个代码就是这个作用*/("User-Agent","Mozilla/(compatible;MSIE;WindowsXP;DigExt)");etInputStream(),"gb2312");codeBuffer=newStringBuffer();StringtempCode=""ppend("n");)();)catch(MalformedURLExceptione)();)catch(lOExceptione)();)return();)/
12、*正则表达式*/publicstaticStringregex()(StringgoogleRegex="<divclass=g>(.*)hre仁"(.*)"(.*)">(.*)</a>(.*)<divclass=std>(.*)<br>"returngoogleRegex;)/*测试用*在google中检索关键字,并抽取自己想要的内容* */publicstaticList<String>GetNews()(List<String>newsList=newArray
13、List<String>();StringallHtmlSource=MyRSS.getHtmlSource("&hl=zh-CN&newwindow=1&client=aff-os-maxthon&hs=SUZ&q=%E8%A7%81%E9%BE%99%E5%8D%B8%E7%94%B2&meta=&aq=f");Patternpattern=(regex();Matchermatcher=(allHtmlSource);while()(StringurlLink=(2);Stringtitle=(4);
14、title=("<fontcolor=CC0033>","");title=("</font>","");title=("<b>.</b>","");Stringcontent=(6);content=("<fontcolor=CC0033>","");content=("</font>","");content=("
15、;<b>.</b>","");(urlLink);(title);(content);)returnnewsList;)/* main方法* */publicstaticvoidmain(Stringargs)(.println(MyRSS.getHtmlSource("");)方法三:jsp自动抓取新闻自动抓取新闻packageclassSpiderNewsServer(publicstaticvoidmain(Stringargs)throwsException(oString();"strNewsDeta
16、il="+strNewsDetail);if(strNewsDetail!=null&&()>0)(WebHtmlnewsListHtml=newWebHtml();StringhtmlDocuemtntCom=(strNewsDetail);"$"+htmlDocuemtntCom);if(htmlDocuemtntCom=null|()=0)(return;rim();title=("<h1>")+4,("</h1>");title=("'"Hl!
17、);title=("","");title=("","");rim();if("<p>")>0&&("</p>")>("<p>")&&("</p>")>0)bodytext=("<p>")+3,("</p>");bodytext=(" ",
18、"");bodytext=("<br>","");bodytext=("n","<br>");bodytext=("'","");bodytext=("","");."else(hometext=bodytext+""+1,5);Calendarcal=();(newDate();cdate=()+""cdate=(0,10);else
19、(continue;""+title);""+cdate);""+cdate);""+hometext);""+bodytext);""+keywords);""+counter);/*Stringstr="INSERTINTOecim_stories(uid,title,created,published,hostname,hometext,bodytext,keywords,counter,topicid,ihome,notifypub,st
20、ory_type,topicdisplay,topicalign,comments,rating,votes,description)”;str+="VALUE(1,'"+title+"',"+cdate+","+cdate+",'','"+hometext+"','"+bodytext+"','"+keywords+"',"+counter+",1,0,1,admi
21、n',0,'R',0,0,0,'')"DBAccessdb=newDBAccess();if(str)>0)"成功!");else"失败!");*/*抓取页面内容结束*/packageclassWebHtml/*根据url,抓取webhmtl内容*paramurl*/publicStringgetWebHtml(Stringurl)tryURLmyURL=newURL(url);URLConnectionconn=();BufferedReaderreader=newBufferedReader(n
22、ewInputStreamReader();Stringline=null;StringBufferdocument=newStringBuffer("");while(line=()!=null)(line+"n");();StringresutlDocument=newString(document);returnresutlDocument;)catch(Exceptione)()return"")Java简易播放器import.*;import.*;import.*;import.*;import.*;etClassName(
23、);(this);)catch(Exceptione)();*etSelected(true);();/*loopItem=newJCheckBoxMenuItem("是否循环");(loopItem);(newItemListener()(publicvoiditemStateChanged(ItemEvente)(loop=!loop;);*/infor=newJMenuItem("软件简介”);(infor);(this);about=newJMenuItem("关于作者");(this);(about);+();+name,indexF
24、orDel);catch(ReNamee2)etImage();quals("")(this,"错误的路径","出错了",;StringsFiles=();for(inti=0;i<i+)(sFilesi);()+1)+"."+sFilesi);()+""+sFilesi);(numList);/*fd=newFileDialog;(true);if()!=null)(FilefileDir=newFile();Stringss=();for(inti=0;i<i+)(*/priva
25、tevoidcreatePlayer()(closePreviosPlayer();+1)+"格式"try(player=();sSelected()(if()=0)return;index=(int)()*();if(buttonValues1.isSelected()(if()=0)return;sSelected()(newTime(0);();createPlayer2();)privatevoidexity_n()(/*intexi;exi=(this,"真的要离开么","退出程序",;+vf);(vf);()+1)+&qu
26、ot;."+vf);+vf);(title);(numList);oString();oString();catch(ArrayIndexOutOfBoundsExceptione)(return;file=newFile(title);closePreviosPlayer();+1)+"格式"try(player=();oString();catch(Exceptione1)(return;(index);();EnumerationenumFile=();while()()+1)+"."+();(index);+1)+"格式,&q
27、uot;+"不过没有从硬盘真正删除");if()!=0)(createPlayer2();index%=();)privatevoidsaveList()(EnumerationenumFile=();EnumerationenumDir=();try(output=newObjectOutputStream(newBufferedOutputStream(newFileOutputStream(listFile);while()(listWriteFile=newListValues().toString(),().toString();(listWriteFile);)
28、();();)catch(Exceptione)();)/*finally();();+();();)catch(EOFExceptione)(try(xe");)*/)importclassDialogDemoextendsJDialog(JTextAreafield;Containerc;StringsValue="n本软件基于javamediaframework构建,同时我们+"n正处于基础java学习阶段,所以功能还不是非常完"+"n善,难登大雅之堂。"+"nnt功能简介:"+"n本软件的播放清单
29、文件保存在同目录下的"+"""+""+"""+"文件"+"n下,如果系统不存在此文件则第一次打开的时候软件+"n会自动建立。本软件能打开单个音乐文件或整个音乐"+"n目录,清单支持右键操作,当在列表中读取到不支持的"+"n文件时,此软件会自动把那个文件从清单清除,并另"+"n外播放一首歌。不过此软件有个不足之处,就是当你更”+"n改了清单的时候,要正常退出,即先关闭播放器,然后"+&qu
30、ot;n再关闭DOS窗口,因为我是在关闭播放器的时候保存清单”+"n文件的。不过你运行我编译出来的jar文件就没有此问题”+"n如果你使用中遇到任何问题,请通知我们,谢谢你的支持"DialogDemo(Frameframe,Stringtitle)(super(frame,title);field=newJTextArea();(sValue);(false);c=getContentPane();(newBorderLayout();(field,;ata("query","Java").userAgent("M
31、ozilla").cookie("auth","token").timeout(3000).post();returndoc;)JavaMP3播放器主程序packageimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimpor
32、timportimportimportimportimportimportimportimportimportpublicclassMusicPlayerimplementsActionListener,Serializable,ControllerListener/*/privatestaticfinallongserialVersionUID=-L;privateJFrameframe=null;privateJPanelcontrolPanel=null;privateJButtonbtnPlay=null;privateJButtonbtnPre=null;privateJButton
33、btnNext=null;privateJScrollPanelistPane=null;privateJListlist=null;privateDefaultListModellistModel=null;privateJMenuBarmenubar=null;privateJMenumenuFile=null,menuAbout=null,menuMode=null;privateJMenuItemitemOpen,itemOpens,itemExit,itemAbout;privateJRadioButtonMenuItemitemSingle,itemSequence;private
34、ListItemcurrentItem=null;privatestaticPlayerplayer=null;privatebooleanisPause=false;privateintmode;privateintcurrentindex;dd(list);(newMouseAdapter()(publicvoidmouseClicked(MouseEvente)(if()=2)(if(player!=null)();(iconPlay);)currentindex=();currentitem=(Listitem)(currentindex);(currentindex);play();
35、);(newBorderLayout();(controlPanel,;(listPane,;(true);)OverridepublicvoidactionPerformed(ActionEvente)(if()=itemOpen)(etAbsolutePath();(item);)elseif()=itemOpens)oLowerCase().endsWith(".mp3”)|().toLowerCase().endsWith(".wav")returntrue;returnfalse;);for(Filefile:files)ListItemitem=new
36、ListItem(),file.getAbsolutePath();(item);)save(listModel);)elseif()=itemExit)(运行:appletviewertetris.记得用鼠标在界面上点击一下哈(这样才能响应键盘动作)左-j右-l旋转-i快速下落-u直接下落-k游戏结束后重新开始-s*/import.awt.*;import.applet.*;til.*;/把所有的internal替换成两个空格/把所有的替换成/把所有的,替换成/把所有的bool替换成boolean/不会在构造函数中给一维数组赋值:(/namespaceTetris/(classtetrisd
37、atas(privateintbricks3168,1224,1728,2244,3712,2188,736,3140,2272,1100,3616,3208,1248,1220,228,2248,3840,17476,3264;privateintstart_bricks=0,2,4,8,12,16,18;privateRandomrnd=newRandom();/int,arr=newint50,50;intarr=newint5050;intcur_brick=0,next_brick=0,cur_a=0,cur_b=0;inthight=22;privateintNewChange=0
38、;privateintMayDown=0;intNewHight=0;intlevel=0;intscore=0;intlines=0;intcur_color=0;intnext_color=0;publictetrisdatas()/bricks=newint193168,1224,1728,2244,3712,2188,736,3140,2272,1100,3616,3208,1248,1220,228,2248,3840,17476,3264;/start_bricks=newint70,2,4,8,12,16,18;cur_brick=start_bricks()%7+6)%7;ne
39、xt_brick=start_bricks()%7+6)%7;cur_color=()%7+6)%7+1;next_color=()%7+6)%7+1;cur_a=0;cur_b=4;intget_brick(intindex)returnbricksindex;booleanmay(inta,intb)booleanflag=true;intnum=brickscur_brick;a+=cur_a;b+=cur_b;for(inti=0;i<16;i+)if(num>>(15-i)&1)!=0)if(a+i/4>22)|(b+i%4<0)|(b+i%4&
40、gt;11)flag=false;break;if(arra+i/4b+i%4>0)flag=false;break;)returnflag;)voidmove(inta,intb)(cur_a+=a;cur_b+=b;)booleanmay_change()(booleanrel=true;booleanflag=false;intmid=cur_brick,midd=cur_brick;if(cur_brick=18)/如果是方块,则不能进行如下处理(旋转),否则indexoutofrangereturnfalse;for(inti=0;i<7;i+)(if(mid+1=sta
41、rt_bricksi)(mid=start_bricksi-1;flag=true;break;)if(!flag)mid+;/方块旋转后,此处会有异常cur_brick=mid;if(may(0,0)(NewChange=cur_brick;)else(rel=false;)cur_brick=midd;returnrel;)voidchange()(cur_brick=NewChange;booleanmay_down()(MayDown=cur_a;for(inti=1;i<23-MayDown;i+)if(!may(i,0)(MayDown=i-1;break;returntru
42、e;voiddown()(cur_a+=MayDown;voidaddto()(intnum=brickscur_brick;for(inti=0;i<16;i+)(if(num>>(15-i)&1)!=0)(arrcur_a+i/4cur_b+i%4=cur_color;if(cur_a+i/4<hight)hight=cur_a+i/4;voidget_next()(cur_a=0;cur_b=5;cur_brick=next_brick;next_brick=start_bricks()%7+6)%7;cur_color=next_color;next_c
43、olor=()%7+6)%7+1;booleancancel()(intline=0;booleanflag;for(inti=cur_a;i<cur_a+4;i+)(flag=true;for(intj=0;j<12;j+)(if(arrij=0)(flag=false;break;if(flag)(line+;for(intk=i-1;k>=hight;k-)for(intj=0;j<12;j+)(arrk+1j=arrkj;arrkj=0;NewHight=hight+line;score+=line*line*10;if(score>(level+1)*2
44、00)(level+;if(level>9)level=9;if(line>0)(lines+=line;returntrue;elsereturnfalse;intget_speed()(return(500-level*45);voidnew_hight()(hight=NewHight;booleangameover()if(!may(0,0)returntrue;returnfalse;)voidclear()(for(inti=0;i<50;i+)for(intj=0;j<50;j+)arrij=0;level=0;score=0;lines=0;hight=
45、22;)/)/*classkeyhitextendsKeyListener(voidKeyPressed(KeyEvente)(voidKeyReleased(KeyEvente)(voidKeyTyped(KeyEvente)(*/publicclasstetrisextendsAppletimplementsRunnable(privateImagebgImage;privateGraphicsbg;intx=100;inty=20;intr=10;intgame_over=0;charkeyhit;privatetetrisdatastt=newtetrisdatas();publicvoidinit()(addKeyListener(newKeyAdapter()(this_keyPressed(e););)publicvoidstart()(Threadth=newThread(this);();publicvoidstop
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年商贸公司销售岗位劳动协议样本
- 建筑工程建筑设备终止合同
- 园林绿化挖机手招聘合同
- 速记员招聘合同会议速记服务
- 2024年北京中学生托管安全协议2篇
- 2024年新型假结婚协议范例版
- 2024年二手房中介交易合同范本4篇
- 跨国公司法务专员聘用合同
- 园林绿化联合体施工合同
- 教师岗位聘任合同证书协议书
- 2024年统编版新教材语文小学一年级上册全册单元测试题及答案(共8单元)
- 探寻中国茶:一片树叶的传奇之旅学习通超星期末考试答案章节答案2024年
- 哈利波特英文演讲PPT
- 可涂色简笔画打印(共20页)
- 1#玻璃合格证
- 机械常用材料及工艺性
- 时分的认识(课件)3
- 北京链家房地产房屋买卖合同(标准版)范本
- 国家中医药管理局“十一五”重点专科(专病)评估细则
- 基板铜箔半固化片检验标准书(共27页)
- 《解决问题(座位数够不够)》教学设计
评论
0/150
提交评论