[QQAI机器人]
简述爬虫是什么爬虫就是按照一定的规则来抓取我们想要的数据
例如我可以获取我的博客博文以及连接
按照设定的规则来爬数据
智能机器人是什么例如我们现在要用的QQ机器人
他可以按照你的规则来回复你的消息
你可以和他聊天
也可以让他把你去办某些事情
例如你可以问他我的快递到哪了,他就会回复你快递的信息
功能实现环境配置JCQ的环境配置这里就不说了,这里直说怎么去实现
[QQAI机器人]-使用Java开发环境搭建配置好完成后,使用里面的MavenDemo
导包jcq-coolq:JCQ开发工具包jsoup:爬虫包
com.sobte.cqpjcq-coolq1.2.7org.jsoupjsoup1.11.3开始编写程序AppDemo.java:程序主类JsoupMapping.java:爬虫运行类
编写JsoupMapping.java获取博文的class获取详细的名称和连接地址最后成型的代码如下
packagetop.xsinfo.jsoupdemo;importorg.jsoup.Connection;importorg.jsoup.Jsoup;importorg.jsoup.nodes.Document;importorg.jsoup.nodes.Element;importorg.jsoup.select.Elements;importjava.io.IOException;publicclassJsoupMapping{publicsynchronizedstaticvoidcsdn(Stringurl,longfqq){StringBuildersb=newStringBuilder();try{Connectionconnect=Jsoup.connect(url);Documentdocument=connect.get();//所有的博文Elementsitems=document.getElementsByClass("article-item-boxcsdn-tracking-statistics");//这里只要10条就行了,太多了麻烦intnum=Math.min(items.size(),10);for(inti=0;iAppDemo.CQ.logError("JsoupMapping_csdn()",e.getMessage());e.printStackTrace();AppDemo.CQ.sendPrivateMsg(fqq,"爬取结果失败:"+e.getMessage());}//发送私聊消息AppDemo.CQ.sendPrivateMsg(fqq,sb.toString());}}私有消息处理publicstaticvoidmain(String[]args){//CQ此变量为特殊变量,在JCQ启动时实例化赋值给每个插件,而在测试中可以用CQDebug类来代替他CQ=newCQDebug();//newCQDebug("应用目录","应用名称")可以用此构造器初始化应用的目录CQ.logInfo("[JCQ]TESTDemo","测试启动");//现在就可以用CQ变量来执行任何想要的操作了//要测试主类就先实例化一个主类对象AppDemodemo=newAppDemo();//下面对主类进行各方法测试,按照JCQ运行过程,模拟实际情况demo.startup();//程序运行开始调用应用初始化方法demo.enable();//程序初始化完成后,启用应用,让应用正常工作//模拟私聊消息demo.privateMsg(0,10005,3111111114L,"爬取博客https://xiaoshuai.blog.csdn.net/",0);//demo.disable();//实际过程中程序结束不会触发disable,只有用户关闭了此插件才会触发demo.exit();//最后程序运行结束,调用exit方法}publicintprivateMsg(intsubType,intmsgId,longfromQQ,Stringmsg,intfont){//爬取博客https://blog.csdn.net/qq_18604209if(msg.startsWith("爬取博客")){Stringurl=msg.replace("爬取博客","").trim();JsoupMapping.csdn(url,fromQQ);//表示拦截消息不在让其他模块进行处理returnMSG_INTERCEPT;};//不是我想要的,别的模块继续returnMSG_IGNORE;}接下来就该打包了首先配置appid(不能有大写)配置json里面的class
上传服务器测试你也来试试吧,爬取别人的也可以哦
源码和Demo在这里
链接https://pan.baidu.com/s/14U1RjiUibpC7Ea8C55t_rQ提取码:71co