gpt4 book ai didi

java - 使用crawler4j下载js文件

转载 作者:行者123 更新时间:2023-11-30 04:32:01 24 4
gpt4 key购买 nike

我正在尝试使用 crawler4j下载一些网站。我遇到的唯一问题是,即使我在 shouldVisit 函数中为所有 .js 文件返回 true,它们也永远不会被下载。

@Override
public boolean shouldVisit(WebURL url) {
return true;
}

@Override
public void visit(Page page) {
String url = page.getWebURL().getURL();
System.out.println("URL: " + url);
}

.js 文件的 URL 永远不会被打印出来。

最佳答案

我注意到“<script>”标签不会被crawler4j处理。这是所有“.js”文件发生的地方。所以我不认为问题仅限于“.js”文件 - 我认为它是“<script>”标签内的任何内容(通常恰好是“.js”文件)。

最初看起来修改 HtmlContentHandler 的 Enumeration 和 startElement() 方法确实可以解决问题。我尝试过,但没有成功。在调试它时,我观察到 Tika 解析器或 TagSoup(Tika 使用的)没有获取脚本标签。因此,它甚至从未到达crawler4j 进行处理。

作为解决方法,我使用 JSoup 解析访问()方法中所有“<script>”标记的 HTML,然后安排对这些文件进行爬网。

我认为真正的解决方案是确定为什么 Tika(或 TagSoup)没有获取脚本标签。这可能是crawler4j 调用它的方式。一旦解决了这个问题,修改 HtmlContentHandler 就可以了。

关于java - 使用crawler4j下载js文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14413965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com