SpringBoot定时任务结合jsoup抓取网页信息

由于测试环境需要一些测试数据或者压测时需要大量的不重复的数据,可以使用SpringBoot定时任务 来抓取网站上 的证件号信息用来作为测试数据使用,本项目Github源码

@Configuration
@EnableScheduling// 启用定时任务
public class GetIdNos {

    @Autowired
    private UserService userService;

    @Scheduled(cron = "0/5 * * * * ?")// 每10秒执行一次 抓取网页的身份证信息保存到数据库
    public void scheduler() throws Exception {
        DateFormat dateFormat = DateFormat.getDateTimeInstance();
        String time = dateFormat.format(new Date());

        String url = "https://hk.51240.com/";
        Document document = Jsoup.connect(url).get();
        Elements trElements = document.getElementsByTag("table").get(3).getElementsByTag("tr");
        for (int i = 1; i < trElements.size(); i++) {
            Elements tds = trElements.get(i).getElementsByTag("td");
            String name = tds.get(0).text();
            String idNo = tds.get(1).text();
            User user = userService.findUserByIdNo(idNo);
            if (StringUtils.isEmpty(user)) {
                userService.insert(new User(idNo, name, time));
            }
        }

    }
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zhongan</groupId>
    <artifactId>GetPersonId</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.15</version>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.11.3</version>
        </dependency>
    </dependencies>


</project>

成功爬取信息并保存


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,871评论 1 32
  • 笔友,一个多么陌生的词汇 现如今,有多少人每天连支笔都不曾握住 更无所谓笔友了 滴滴滴,不得不去点掉的微信小红点 ...
    工程师姐夫阅读 1,769评论 1 4
  • 早读分享 2018年2月11日 星期日 我们都有缺点,所以彼此包容一点。 我们都有优点,所以彼此欣赏一点。 我们都...
    SYK晟芸康时尚健康馆阅读 2,325评论 0 0
  • 马云爸爸家的大日子即将到啦 各大电商大战纷纷预热 什么预付金、定金攻略就是让人膨胀 ...... 一大堆概念、一大...
    VO小超人阅读 1,391评论 0 0
  • 作者:阿黎 今天是安澜大家庭第一次团聚。虽说并非所有人都到场,但八人的队伍已经让这个团队有了家的感觉。 真的很巧,...
    阿黎Aria阅读 2,976评论 18 9

友情链接更多精彩内容