LvzPoliceTickerDetailViewCrawler.java 文件源码

java
阅读 19 收藏 0 点赞 0 评论 0

项目:lvz-viz 作者:
@Async
public Future<Iterable<PoliceTicker>> execute(final Iterable<String> detailURLs) {
    final Stopwatch watch = Stopwatch.createStarted();
    logger.info("Start crawling detail pages");
    final List<PoliceTicker> policeTickers = new ArrayList<>();
    for (final Iterator<String> iterator = detailURLs.iterator(); iterator.hasNext();) {
        final PoliceTicker ticker = crawl(iterator.next());
        if (ticker != null) {
            policeTickers.add(ticker);
        }
        if (iterator.hasNext()) {
            try {
                Thread.sleep(WAIT_BEFORE_EACH_ACCESS_TO_PREVENT_BANNING);
            } catch (final InterruptedException e) {
                logger.error(e.toString(), e);
            }
        }
    }
    watch.stop();
    logger.info("Finished crawling {} detail pages in {} ms", policeTickers.size(), watch.elapsed(TimeUnit.MILLISECONDS));
    return new AsyncResult<>(policeTickers);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号