从零开始使用Springboot,selenium进行爬虫
要使用Spring Boot和Selenium进行网页爬虫,你需要以下步骤:
- 创建一个Spring Boot项目。
- 添加Selenium依赖。
- 配置ChromeDriver。
- 编写爬虫代码。
- 创建定时任务或者REST接口来触发爬虫。
以下是一个简单的示例:
- 创建Spring Boot项目:
$ spring init --groupId com.example --artifactId crawler --name crawler --package com.example.crawler --dependencies web, selenium
- 添加Selenium和ChromeDriver依赖到
pom.xml
:
<dependencies>
...
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
...
</dependencies>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
- 下载对应版本的ChromeDriver并放到项目的
src/main/resources/
目录下或者配置到系统PATH。 - 编写爬虫代码,例如
CrawlerService.java
:
@Service
public class CrawlerService {
private WebDriver driver;
public CrawlerService() {
ChromeOptions options = new ChromeOptions();
options.setHeadless(true); // 无头模式,不打开浏览器窗口
driver = new ChromeDriver(options);
}
public void crawl(String url) {
driver.get(url);
// 这里添加你的爬取逻辑,例如解析页面、保存数据等
}
}
- 创建定时任务,例如
CrawlerScheduler.java
:
@Component
public class CrawlerScheduler {
private final CrawlerService crawlerService;
@Autowired
public CrawlerScheduler(CrawlerService crawlerService) {
this.crawlerService = crawlerService;
}
@Scheduled(fixedRate = 60000) // 每分钟执行一次
public void crawl() {
crawlerService.crawl("http://example.com");
}
}
- 在
CrawlerApplication.java
中启用定时任务和Selenium:
@SpringBootApplication
public class CrawlerApplication {
public static void main(String[] args) {
SpringApplication.run(CrawlerApplication.cl
评论已关闭