我正在尝试用 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 的方法