之前写过golang里比较好用的爬虫工具是 goquery [传送门]
今天来介绍一下nodejs里的爬虫
开始前准备:强烈推荐使用 anaconda 来做 python 的环境管理工具,它里面自带了很多科学计算的类库,可以避免很多不必要的问题
显卡:我的显卡是 gtx960 最多只能训练10批次的数据,再多了显存就不足了,唉。。
前言:如果使用chrome浏览器的话,可以安装一个插件 PDF Viewer 也是一样的效果
下面给出的请求,请自动在地址后面加上 -H 'Content-Type:application/json' -d'{ $content$ }
创建一个索引
PUT http://localhost:9200/library/
{
"settings": {
"index": {
"number_of_shards": 5, # 有5个碎片
"number_of_replicas": 1 # 有1个备份
}
}
}
先看效果图
pjax是啥,自行百度,关于它的兼容性可以看一下我另一篇博客:https://tomoya92.github.io/2017/04/25/nodejs-pjax/
新建一个spring-boot项目,不多说,可以用IDEA或者在 start.spring.io
上创建 spring-boot 项目
netty-socketio 可以去github上找最新的版本 https://github.com/mrniko/netty-socketio
<dependency>
<groupId>com.corundumstudio.socketio</groupId>
<artifactId>netty-socketio</artifactId>
<version>1.7.7</version>
</dependency>
java web容器在提交表单的时候有个保护机制,当表单字段超过1000个的时候会抛一个异常 The number of parameters exceeded the maximum of 1000
这么奇葩的问题居然被我碰到了,下面说一下解决办法,此方法适用 tomcat
, jetty
, undertow
MAX_PARAMETERS
参数,默认是1000,给设置大点就好了// 项目用的是undertow容器,下面是undertow的配置方法
@Bean
public UndertowEmbeddedServletContainerFactory undertowEmbeddedServletContainerFactory() {
UndertowEmbeddedServletContainerFactory undertowFactory = new UndertowEmbeddedServletContainerFactory();
undertowFactory.addBuilderCustomizers(builder -> {
builder.setServerOption(UndertowOptions.MAX_PARAMETERS, 10000);
});
return undertowFactory;
}
这段代码可以放在项目里任何地方,前提是要能被spring给扫描到,另外两个容器配置方法差不多,改一下方法名就可以了
配置好了,重启服务器这个异常就消失了