我想报告的是,我一直在调查stormcrawler sdk提取html响应。我知道jsoupparserbolt使用parsefilter.json文件根据特定需要提取响应。我还知道有一个默认文件用于相同的目的。在我的例子中,我使用eclipse执行pom.xml文件来为所设计的爬虫程序生成.jar文件。然后我运行包含main函数和run函数的crawltopology类,run函数包含来自sdk的所有必需的spout和bolt引用,形成一个拓扑(我使用maven archtype下载了示例crawler)。
问题是crawltopology类没有调用修改后的parsefilter.json文件来引用所需的信息,而是始终使用默认的parsefilter.json文件。我不知道是什么导致了这种问题。无论是maven依赖性问题还是默认项目的问题。
有人能帮我吗?
1条答案
按热度按时间9rygscc11#
如果您的代码是从原型生成的,那么parsefilter.json应该位于正确的位置,即src/main/resources/。
使用eclipse时,请确保将项目作为maven项目导入。这将把src/main/resources/添加到类路径。eclipse将获取依赖项并管理类等。。。我经常在eclipse中运行拓扑,没有任何问题。
这对于测试和调试很好,但是最好的方法是在eclipse之外运行代码,如自述文件中所示。另一个选择,如果你还没有安装风暴是使用
在eclipse之外以本地模式运行它。