public class NetworkCrawler extends AbstractListCrawler<URL>
此类处理指向网络上数据文件或zip/jar的URL列表。由于网络不是树结构,列表元素不能像DirectoryCrawler
中那样递归浏览顶级元素,它们必须是数据文件或zip/jar存档。
从网络获取的文件可以在磁盘上进行本地缓存。这可以防止如果URL是远程URL(例如原始互联网URL)时过于频繁地访问网络。
如果URL指向代理服务器另一侧的远程服务器(通常在Web上),则需要配置应用程序的网络层以使用代理。对于许多公司环境中使用的典型认证代理,可以通过以下方式完成,例如使用在测试目录中找到的AuthenticatorDialog图形认证器类:
System.setProperty("http.proxyHost", "proxy.your.domain.com"); System.setProperty("http.proxyPort", "8080"); System.setProperty("http.nonProxyHosts", "localhost|*.your.domain.com"); Authenticator.setDefault(new AuthenticatorDialog());
支持递归地处理zip存档条目。
这是使用访问者
设计模式进行列表浏览的简单应用。
DataProvidersManager
ZIP_ARCHIVE_PATTERN
Constructor and Description |
---|
NetworkCrawler(URL... inputs)
构建数据类路径爬虫。
|
Modifier and Type | Method and Description |
---|---|
protected String |
getBaseName(URL input)
获取输入的基本名称。
|
protected String |
getCompleteName(URL input)
获取输入的完整名称。
|
protected InputStream |
getStream(URL input)
获取从输入读取的流。
|
protected ZipJarCrawler |
getZipJarCrawler(URL input)
获取输入的zip/jar爬虫。
|
void |
setTimeout(int timeout)
设置连接的超时时间。
|
addInput, feed, getInputs
public NetworkCrawler(URL... inputs)
默认超时时间设置为10秒。
inputs
- 输入文件URL列表
public void setTimeout(int timeout)
timeout
- 连接超时时间(毫秒)
protected String getCompleteName(URL input)
getCompleteName
在类 AbstractListCrawler<URL>
input
- 要考虑的输入
protected String getBaseName(URL input)
getBaseName
在类 AbstractListCrawler<URL>
input
- 要考虑的输入
protected ZipJarCrawler getZipJarCrawler(URL input)
getZipJarCrawler
在类 AbstractListCrawler<URL>
input
- 要考虑的输入
protected InputStream getStream(URL input) throws IOException
getStream
在类 AbstractListCrawler<URL>
input
- 要读取的输入
IOException
- 如果无法打开输入进行读取
Copyright © 2002-2023 CS GROUP. All rights reserved.