900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 爬取公主连结Re:Dive官方动态

爬取公主连结Re:Dive官方动态

时间:2022-04-29 14:30:45

相关推荐

爬取公主连结Re:Dive官方动态

公主连结 Re:dive QQ bot 项目概述

游戏资讯QQbot,涉及到了很多关于爬虫,接口,Json,SQL数据库,Java Spring,Maven,GitLab的使用和小知识点。

零散的知识

git MERGING 状态解决

git reset --hard head# 回退到上一步

.msi是二进制安装文件

日志文件重定向,spring的配置文件

.xml或.yml这类文件是配置文件,也就是可以被编程语言识别的东西

git的两种clone方式:

HTTPSSH

前端调用controller。然后controller处理请求。再调用service处理业务逻辑。

现在基本上所有的互联网公司。都是这么个结构(贫血模型)。前后端分离。前端发出请求。前端的请求到controller中。由controller处理请求并响应。由service处理业务。由dao进行数据交互进行分层开发。

相较于VS Code,typora更加简洁,就图片插入和一些markdown设定而言更加快捷。

在WWW上每一条信息都有唯一网络地址,这就是URL

Gitlab 详细信息

git私有仓库,采用apache协议,优质开源,且具有较高的保密性。

Git忽略文件

git忽略文件的两种方法:一种是完全不,一种是停止更新。

.gitignore敲指令消除更新来源:Git忽略文章链接

# 标记文件,该文件后续的变化都不会更新到index treegit update-index --assume-unchanged [filename]# 恢复对文件的版本控制git update-index --no-assume-unchanged [filename]

gitignore的注意点一定不要忘记,在新加入了不想提交的内容时一定要清缓存

# 最后的一个“.”不要忘了git rm -r --cached .

gitignore是把双刃剑,尤其是在切分支的时候,一定要把gitignore里没有被track的文件备份一份

链接MySQL

“dbc:mysql:” 需要服务器地址 + 库名 + 用户名 + 密码 + tomcat/http接口的端口

地址:<>当然具体的语法还是需要更加深入的学习和记忆。

直接连结数据库的时候使用的是数据库端口

对于MySQL,默认端口port为:3306

动态爬虫

对象网页:

爬取网页:https://api./dynamic_svr/v1/dynamic_svr/space_history?host_uid=353840826

思路

就是一般的思路,没有特殊的地方

获取网页HTML通过formatFilter筛出需要的信息整理成单一String格式输出动态信息

过程

获取网页HTML/Json

使用HttpURLConnection类库

JavaHttp文章链接

URL.getcontent 方法返回的是URL的信息,不是对应网站的内容

java API一定要看好哪些是abstract,哪些是可以用的

//最短解决方法String pageContent = IOUtils.toString(URI.create("[urlAddress]"));

筛出需要的信息

Jackson 包的使用更加简介高效,替代JsonParser(JsonObject 包)

ObjectMapper objectMapper = new ObjectMapper();try {JsonNode node = objectMapper.readValue(pageContent, JsonNode.class);//就使用get get get 就行JsonNode brandNode = node.get("data").get("cards").get(0).get("card");String theCard = brandNode.asText();} catch (IOException e) {e.printStackTrace();}

这个用正则表达式实现内容提取

//设置正则表达式Pattern pattern = pile("description.*category");Matcher dataMatcher = pattern.matcher(bilibiliCardContent);//一定要有dataMatcher.find()这一步,可以使用while来不停的截取if (dataMatcher.find()) {messageTemp = dataMatcher.group();} else {messageTemp = "没有哦";}int messageLength = messageTemp.length();//截取真正的内容(因为有pattern的问题)BilibiliCardUnicodeContent = messageTemp.substring(14, messageLength - 11);

JsonParser 已经被标注@deprecated

JaonParser 直接调用静态的方法就OK

//创建jsonObject对象String pageContent = "XXXXXXX"JsonObject json = (JsonObject) JsonParser.parseString(pageContent);

整理成单一String格式

Unicode(16进制)文本转换

Unicode2String文章链接

使用到的知识:

replaceAll(regex,string) 返回一个修改后的string,而不是在原来的文本上修改

明文换行符就是显示:\n

输出动态信息

博主简介:

座右铭:始于兴趣,源于热爱,成于投入。

爱丁堡大学 人工智能专业。热爱读书和写作,虽然写得不好但还会一直写。喜爱电音的渣渣音乐家,手不是很残的业余画手,有点热心过头的朋友。

所有文章都在个人博客上:discover304.top

也有一些在 CSDN 上:discover304

公众号:白泽百泽(注:内容和博客是一样的)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。