gpt4 book ai didi

javascript - 尝试镜像使用stradown.js 的站点

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:29 24 4
gpt4 key购买 nike

有一个使用 banddown.js 的网站,我尝试使用 httrack 或 wget 对其进行镜像,但效果不佳,因为该网站包含 markdown 而不是 HTML。只有捷联将链接转换为 html 链接。因此,客户端需要首先解释 Javascript,然后在生成的 dom 中搜索链接。

市场上有没有可以做到这一点的工具?

我已经尝试过

wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://my.si.te

httrack -w -v --extended-parsing=N -n -t -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --robots=0 http://my.si.te "+*" "-r6"

非常感谢任何帮助。

最佳答案

如果您习惯用 Java 编写客户端,我已经使用了 HTMLUnit .

使用 Javascript 获取页面的精简示例如下所示。它改编 self 用来抓取我管理的网站之一的实际脚本。我以 banddownjs.com 为例。如果运行它,您将不得不忽略 css 警告,但您会注意到它找到并输出到 bootswatch.com 的链接,该链接是由 javascript 从页面源中的 markdown 生成的。您可能更喜欢 the tool's own Getting started page .

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;

import com.gargoylesoftware.htmlunit.*;
import com.gargoylesoftware.htmlunit.html.*;

public class WebGetter
{

// Set up the client (i.e. gui-less browser)
public static void main(String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException
{
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
webClient.setThrowExceptionOnScriptError(false);
webClient.setJavaScriptEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.setJavaScriptTimeout(20000);
webClient.waitForBackgroundJavaScript(20000);

// Get the page you want (store as HTMLUnit object HtmlPage)
String url = "http://strapdownjs.com/";
HtmlPage page = webClient.getPage(url);

// Use some of the HTMLUnit functionality to look at the DOM (e.g. here,
// find all links)
List<HtmlAnchor> allLinks = page.getAnchors();
for (HtmlAnchor a : allLinks)
{
System.out.println(a.asText());
}
}
}

关于javascript - 尝试镜像使用stradown.js 的站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27149837/

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