线程安全和并发使用,多个实例?
Thread safe and concurrent use, multiple instances?
查看 com.ui4j.api.browser.BrowserFactory
似乎 getBrowser
方法只能 return 一个实例,同样也有记录。
对于任何试图编写某种多线程爬虫的人来说,这都是一个很大的问题,因为在任何时候都只会存在一个浏览器。无法在浏览器上创建新选项卡,因此您一次只能浏览一个可能在列表中排队的页面。
我真的必须不得不通过复制、粘贴和重写整个 BrowserFactory class 来获取另一个实例,还是有办法同时导航多个页面和解析内容?
或者这是一个完整的错过?就目前而言,该库可能仅适用于测试目的。线程上下文在任何生产系统中都是必需的。
我当然可以复制粘贴代码,但是有其他方法吗?
BrowserFactory creates a singleton instance of BrowserEngine. BrowserEngine could create more than one page/tab. If you are trying to crawl a site you should review this 例子。该示例创建了一个池大小为 2 的线程池。这意味着浏览器可以 运行 2 个页面在一起。
查看 com.ui4j.api.browser.BrowserFactory
似乎 getBrowser
方法只能 return 一个实例,同样也有记录。
对于任何试图编写某种多线程爬虫的人来说,这都是一个很大的问题,因为在任何时候都只会存在一个浏览器。无法在浏览器上创建新选项卡,因此您一次只能浏览一个可能在列表中排队的页面。
我真的必须不得不通过复制、粘贴和重写整个 BrowserFactory class 来获取另一个实例,还是有办法同时导航多个页面和解析内容?
或者这是一个完整的错过?就目前而言,该库可能仅适用于测试目的。线程上下文在任何生产系统中都是必需的。
我当然可以复制粘贴代码,但是有其他方法吗?
BrowserFactory creates a singleton instance of BrowserEngine. BrowserEngine could create more than one page/tab. If you are trying to crawl a site you should review this 例子。该示例创建了一个池大小为 2 的线程池。这意味着浏览器可以 运行 2 个页面在一起。