gpt4 book ai didi

java - 如何从 Java 中的浏览器(自动内存数据)等网站下载 HTML

转载 作者:行者123 更新时间:2023-12-01 12:42:35 24 4
gpt4 key购买 nike

好吧,我想做的是从 Java 代码从 facebook 下载 HTML。我知道该怎么做,当我登录而不是获取登录 Facebook 页面时,当我希望它像在浏览器中的查看页面源中一样下载 HTML 时,问题就出现了。

我知道我可以使用 API,但我只想检查 HTML 中的一件事,它似乎太大了,无法包含和使用整个 API。

所以我想知道是否有一种简单的方法可以做到这一点(也许我应该首先使用我的凭据执行一些链接,尽管我不认为这是这样做的方法)。

最佳答案

  I want to do is to download HTML from facebook from JAVA code

您可以通过读取 Urlconnection 来做到这一点。

  import java.net.*;
import java.io.*;

public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL facebook = new URL("http://www.facebook.com/or any dir");
URLConnection yc = facebook.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}

您可以输入任意网址并获取该给定页面的源代码。

查看源代码或保存源代码。

java URLConnectionReader > facebook.html(or any format)

The problems comes when I want to download HTML as it would be if I were Logged in (But of course I'm not, it just downloads the login page). And I don't know how to kind of progmatically login, so that I can download the HTML as it would be after I've logged in

首先请注意,如果您没有直接许可执行此操作,请注意,相关网站可能会在其服务条款中排除此操作。

要回答这个问题,网站拒绝登录的原因有很多很多。为了成功地做到这一点,您需要尽可能接近浏览器处理事务的方式。为此,您需要了解真正的浏览器正在做什么。

https 更加棘手,因为许多 http 嗅探器无法处理它,但 httpwatch 声称可以。检查 HTTP 事务,然后尝试复制它们。

您的 url.openConnection() 调用实际上将返回一个 HTTPURLConnction 实例,转换为该实例,然后您将能够轻松设置各种 http header ,例如 User-Agent。

最后一点,您说可能需要 cookie。您的代码不会处理 cookie。为此,您需要使用 cookie 管理器,例如:refer this for example

关于java - 如何从 Java 中的浏览器(自动内存数据)等网站下载 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970072/

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