我想创建一个爬网应用程序。我与crawler4j的一个进一步发展的分支合作https://github.com/yasserg/crawler4j. 您可以使用selenium解析html,在本地应用程序中一切正常。
现在我想将这个应用程序打包到docker组件中,这会产生一些问题,因为我的容器中没有任何firefox依赖项。以下是dockerfile:
FROM Gradle: latest AS build
# Only copy dependency-related files
COPY build.gradle gradle.properties settings.gradle /src/
# Only download dependencies
# Eat the expected build failure since no source code has been copied yet
RUN gradle clean build --no-daemon > /dev/null 2>&1 || true
COPY ./src /src/src
COPY ./resources /src/resources
WORKDIR /src
RUN gradle shadowjar --no-daemon
FROM openjdk:14
COPY --from=build /src/build/libs/UniCrawl-0.1-all.jar /tmp/UniCrawl-0.1.jar
COPY --from=build /src/resources/geckodriver /tmp/geckodriver
EXPOSE 8080/tcp 8081/tcp
CMD [ "java", "-jar", "/tmp/UniCrawl-0.1.jar", "db:3306", "/tmp/geckodriver"]
selenium提出了一个路径,在该路径中,您可以使用firefox作为自己的容器,但必须使用remotedriver作为驱动类,它不是crawler4j框架的一部分。有没有一种方便的方法将firefox应用程序下载到我的容器中,或者我必须在框架中解决这个问题?
暂无答案!
目前还没有任何答案,快来回答吧!