用到的工具:
1、FastJson(JSON与Java对象进行转换)
2、Loombok(简化JavaBean的编写)
3、线程池(提高爬虫爬取效率,多线程执行任务)
4、批量提交执行SQL(减少与数据库的连接,可以批量插入数据)
5、Jsoup(一个基于Java开发的爬虫库)
建议使用Maven进行开发,以下是我用到的Pom文件:
<!--MySQL-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--jsoup爬虫库-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
实体类对象VO:QuestionVO
package drive;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* The type QuestionVO.
*
* @author 小书包
* @date 2018 /12/31 11:48
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QuestionVO implements Serializable {
/**
* id : 2
* question : 机动车驾驶人违法驾驶造成重大交通事故构成犯罪的,依法追究什么责任?
* answerA : 刑事责任
* answerB : 民事责任
* answerC : 经济责任
* answerD : 直接责任
* correctAnswer : 1
* imageUrl :
* bestAnswer : 《道路交通安全法》第一百零一条:违反道路交通安全法律、法规的规定,发生重大交通事故,构成犯罪的,依法追究刑事责任,并由公安机关交通管理部门吊销机动车驾驶证。
* bestAnswerId : 2600002
* type : 2
* sinaImg :
*/
//id
@JSONField(name = "id")
private int id;
//问题
@JSONField(name = "question")
private String question;
@JSONField(name = "a")
private String answerA;
@JSONField(name = "b")
private String answerB;