手把手教你搭建JAVA分布式爬虫

在工作中,我们经常需要去获取一些数据,但是这些数据可能需要从第三方平台才可以获取到。这个时候,爬虫系统就可以帮助我们来完成这些事情。

提到爬虫系统,很多人都会想到使用python。但实际上,语言只是一种工具,其背后的设计思想和技术原理才是精髓,这篇关于Java分布式爬虫的文章会带着大家一步一步搭建一个适合Java开发者的爬虫系统。

第一部分:搭建一个简单的爬虫系统

注意:在安装这两个软件的时候,它们的版本需要对应起来才能正常work。

接下来我要给大家介绍一下Selenium webdriver这个开源组件,Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括 IE (7, 8, 9, 10, 11), Mozilla Firefox , Safari , Google Chrome , Opera ,Edge等。Selenium webdriver是编程语言和浏览器之间的通信工具,它的工作流程如下图所示。
手把手教你搭建JAVA分布式爬虫_第1张图片

环境搭建好之后,我们就开始进入实际开发环节。 首先,我们创建一个WebDriverFactory。

@Service
public class WebDriverFactory {

    @Value("${chrome.path}")
    private String chromePath;

    @Autowired
    private ProxyPool proxyPool;

    public WebDriver createWebDriver(boolean useProxy) {
        System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "/Users/****/Downloads/chromedriver");
        ArrayList arguments = Lists.newArrayList("--no-sandbox",
                "--disable-dev-shm-usage",
                "--disable-web-security",
                "--ignore-certificate-errors",
                "--allow-running

你可能感兴趣的:(java,分布式,爬虫,chrome,python)