本文共 1462 字,大约阅读时间需要 4 分钟。
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
简单的说就是爬取网页,解析,处理。
需要使用到 Jsoup 工具来做 http 请求:
尝试爬取一下 中的小说信息,确定要爬取页面
点击 F12 ,打开浏览器调试界面,找到需要解析页面的元素。
这里我们需要爬取小说的书名,类型,作者,类别,简介字段。根据 HTML DOM树,找到对应的元素,并对其进行解析。
代码
import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import com.hist.util.DataUtils;public class SpiderDemo { public static final String URL = "https://www.qidian.com/search?kw=%E5%AE%8C%E7%BE%8E%E4%B8%96%E7%95%8C"; public static void main(String[] args) { try { // 进行 http 连接,get 请求方式 Document doc = Jsoup.connect(URL).get(); // 根据HTML DOM树原理,查找到对应的元素 Elements bookList = doc.select(".book-img-text ul li"); for(Element e : bookList) { String[] split = e.select(".author a").text().split(" "); System.out.println("小说名称:"+e.select("h4 a").text()); System.out.println("小说作者:"+split[0]); System.out.println("小说类别:"+split[1]); System.out.println("小说简介:"+e.select(".intro").text()); System.out.println("小说总字数:"+DataUtils.spiderSubstring(e.select(".book-right-info .total p").first().text(),3)); System.out.println("小说总推荐:"+DataUtils.spiderSubstring(e.select(".book-right-info .total p").last().text(),3)); System.out.println("---------------------------"); } } catch (IOException e) { e.printStackTrace(); } }}
运行结果
网络爬虫入门很简单,但是要注意不是所有数据都允许你爬取,还有一定的反爬虫策略,下篇博客再给大家介绍。
转载地址:http://mlbhb.baihongyu.com/