Skip to content

由Chatgpt4辅助编写的爬虫程序,能够抓取技术类站点的博客链接。根据博客更新的情况,判断当前的技术流行趋势。

License

Notifications You must be signed in to change notification settings

ClrsDream/ai-crawler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一个完全由ChatGPT写的代码工程

由ChatGPT辅助编写的爬虫程序,能够根据当前互联网的科技博客内容,分析当前技术的流行趋势。

主要功能:

  1. 定义爬虫程序的目标科技博客网站,确定需要抓取的页面以及需要提取的信息。这些信息可以包括文章标题、作者、发布日期、摘要、内容等。

  2. 使用OkHttp3框架发起HTTP请求获取网页的HTML代码。为了避免被网站屏蔽,需要设置合适的User-Agent和延迟时间等参数。对于大量请求的情况,可以考虑使用代理IP等策略来防止被封。

  3. 使用Jsoup框架解析HTML代码,提取需要的信息。可以使用选择器来定位需要的元素,使用API来获取元素的属性和文本内容。需要注意的是,有些网站可能会使用反爬虫技术,比如设置验证码、动态生成页面等,需要根据具体情况进行处理。

  4. 使用Mybatis Plus框架将数据存储到数据库中。需要先定义数据表的结构和实体类,然后使用框架提供的API进行数据的增删改查等操作。为了避免重复存储,可以考虑使用主键或唯一索引等机制进行数据的去重。

  5. 使用定时任务来周期性地执行爬虫程序,保证数据的及时更新。需要设置合适的执行频率和时间,以避免过度频繁的访问目标网站,导致网站出现异常。

详细步骤

创建工程

基础功能(CRUD)

激动人心的时刻来了,让ChatGPT生成源码。我们给到AI的信息包括:工程名称ai-crawler,Java版本1.8,依赖:mybatis-plus-boot-starter、okhttp、hutool-all、jsoup,AI会生成什么样的代码呢

嗯,中规中矩,知道根据okhttp和jsoup创建两个工具类。

接下来,再给它一点提示,告诉AI具体的数据模型,目前暂定为Blog,由AI来生成具体的增删改查代码。

来看看他的表现:

还不错,生成的Blog实体类,利用了MybatisPlus的注解@TableName;BlogService继承自MybatisPlus的IService。Spring的@Service注解也自觉用上了。

代码不比Java初级工程师差了吧?

配置代码及工具类

除了上面的基础逻辑代码,再来看看配置类和配置文件。

AICrawlerApplication.java

MybatisPlusConfig.java

HomeController.java

HttpUtil.java

JsoupUtil.java

application.yml

logback-spring.xml

代码Review

总结

AI会取代程序员吗?也许以后可以,现在应该还不行。我觉得AI更像一个趁手的工具。

About

由Chatgpt4辅助编写的爬虫程序,能够抓取技术类站点的博客链接。根据博客更新的情况,判断当前的技术流行趋势。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%