PS:一直以为爬虫是Python干的事,但是最近发现,原来Java也能够写爬虫,这让我万分不已,那就让我们看看Java如何写爬虫吧~
根据查看书籍和百度,我了解到要让Java做爬虫首先要将整个网页给下载下来,然后从网页中提取URL,接着构建URL队列,最后执行程序
OK,下面我将细细讲解这一过程
①下载网页
这里我们要使用HttpClient jar包,通过里面的get方式获取Response对象,然后获取该对象中的Entity,最后通过Entity中的InputStream将返回的内容进行处理
CloseableHttpClient httpClient=HttpClient.createDefault();
HttpGet httpGet=new HttpGet("/网址");
CloseableHttpResponse response=httpClient.execute(httpGet);
HttpEntity entity=response.getEntity();
is=entity.getContext();
sc=new Scanner(is);
String filename="/下载至保存的文件"
os=new PrintWriter(finlename);
while(sc.hasNext())
{
os.write(sc.nextLine());
}
②提取URL
这里我要使用Jsoup jar包(款JavaHtml解析器,可以直接接续某个URL地址,HTML文本内容)
File input = new File("XXX.html");
Document doc = Jsoup.parse(input,"UTF-8","网址/");
③构建URL队列
在构建队列之前,我们要对爬虫中的队列进行分析,从初始种子队列开始:我们需要得到爬虫开始的地方,然后用ArrayList集合保存该队列。准备好这些,我们进入到待爬取队列:我们每次从队列中取出URL去爬,同时把爬过的URL从队列中删除。 对于已爬取过的队列:对于已爬取过的URL要添加到已爬取队列中,如果从网页中发现新的URL时,要判断该URL是否已经存在于已爬取队列,如果不存在,则将该URL添加到待爬队列
做完上述步骤,相信你的爬虫已经搭建好了!