Java 使用SeleniumWebDriver、Jexcelapi和多线程设计webscraper
我正在努力确保我的设计正确(或至少高效),适合我为客户所做的工作。我为GUI和一些数据提取编写了很多代码,但我担心在一个线程上完成这些代码可能需要太长时间。以下是我想做的:Java 使用SeleniumWebDriver、Jexcelapi和多线程设计webscraper,java,multithreading,excel,selenium-webdriver,jexcelapi,Java,Multithreading,Excel,Selenium Webdriver,Jexcelapi,我正在努力确保我的设计正确(或至少高效),适合我为客户所做的工作。我为GUI和一些数据提取编写了很多代码,但我担心在一个线程上完成这些代码可能需要太长时间。以下是我想做的: 从txt文件中获取股票符号列表;将其加载到ArrayList中(大约有20只基金) 查找每个基金的各种股票统计数据(约50个统计类别) 将这些统计数据写入电子表格 然后将其加载到主电子表格中(客户希望保留他拥有的相同表格) 因此,大约有70多个值需要查找。我有一个我认为可以高效运行的流程,但不确定它是否尽可能高效。如果有人能
MainScreen pulls listOfFunds.txt into an ArrayList<String> listOfFunds
Calls a dataPuller (Using WebDriver)
dataPuller calls three threads:
Thread1 calls statGroup 1
Thread2 calls statGroup 2
Thread3 calls statGroup 3
Main屏幕将listOfFunds.txt拉入ArrayList listOfFunds
调用dataPuller(使用WebDriver)
dataPuller调用三个线程:
Thread1调用statGroup 1
Thread2调用statGroup 2
Thread3调用statGroup 3
然后,所有三个线程将找到的所有统计信息加载到最终的ArrayList中
使用jexcelapi写出所有标签,然后写入并关闭可写工作簿
主要的问题是:我不知道是否能够将所有三个线程加载到一个ArrayList,而不在其上写入
如果我能让三个人都写在同一张纸上,那将是一个巨大的提升
我想主要的问题是,你能把三条线装到同一张纸上吗?或者我将它们加载到ArrayList是正确的?我需要连接通过WebDriver刮取的所有数据,并将其写入excel工作表 您是否确保将数据(股票符号)分为3部分,这样就不会有多个线程查找同一基金的股票数据?@Abhijeet您是一名stackoverflow士兵!线程将被设置为查找每个基金的不同统计数据,或者我应该以不同的方式划分它吗?顺便说一下,这个项目和webdriver的问题是一样的。问题解决了