gpt4 book ai didi

java - 如何用java读取一个网站的源代码

转载 作者:行者123 更新时间:2023-11-30 09:28:34 27 4
gpt4 key购买 nike

我正在尝试用 Java 编写一个网络爬虫,到目前为止它大部分工作,尽管我在使用 JavaScript 或 PHP 动态获取内容的网站上遇到问题,例如,如果我尝试爬取 tumblr 博客而不是获取带有链接的整个源代码和所有内容我只得到 CSS 和标题信息,这是因为所有发布信息都是由 JavaScript 收集的。

我用来从网页获取源代码的代码是......

public static String openURL( String url )
{
String source = null;
String temp = "";
BufferedInputStream bis;
try
{
URL my_url = new URL(url);

HttpURLConnection urlConnection = (HttpURLConnection) my_url.openConnection();
urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0");
InputStream is = urlConnection.getInputStream();

bis = new BufferedInputStream(is);

byte[] buffer = new byte[1024];
int bytesread = 0;
source = "";

bytesread = bis.read(buffer);

while( bytesread != -1 )
{
source += new String(buffer, 0, bytesread);
bytesread = bis.read(buffer);
}
}
catch (Exception ex ){}
System.out.println(source);
return source;
}

有没有人知道我可以如何改变它以便它获得动态内容,任何帮助将不胜感激

干杯丹尼尔

编辑:抱歉,你们的回答很有帮助,这个项目更具教育意义,所以我试图找到一种不使用第三方 API 的方法

最佳答案

网络爬虫通常会看到没有处理 javascript 的网站。 Web 开发人员知道这一点,因此可以在没有 JS 的情况下成功读取“好”网站

如果您真的很想实际处理 JS,(尽管如果您不这样做,您的生活将会轻松很多),您可以使用这个工具:http://phantomjs.org/

我还没有实际使用过它,但它允许您在不使用浏览器的情况下处理 JS..

关于java - 如何用java读取一个网站的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13968801/

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