博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 爬虫入门
阅读量:2456 次
发布时间:2019-05-10

本文共 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/

你可能感兴趣的文章
foss测试_防止下一次心脏出血,使FOSS更安全
查看>>
开放经济的宏观经济学答案_从开放的角度回答管理问题的8个答案
查看>>
drupal 页面分栏_使用段落在Drupal中构建更好的页面
查看>>
openstack 容器_如何在OpenStack中协调容器
查看>>
数据治理开源软件_开源软件如何为更好的治理打下坚实的基础
查看>>
openstack社区_OpenStack的社区分发
查看>>
密歇根大学python_密歇根理工大学建立自己的3D打印机课程
查看>>
为什么从SparkFun而不是Bigbox卖家购买?
查看>>
项目托管平台 开源_一个用于版本控制托管的开源平台
查看>>
使用TurnKey Linux的用户友好型虚拟主机
查看>>
知识源于生活 精于思考_开放源于教育,新系列将于3月16日开始
查看>>
开源实时数据库_实时应用程序的开源数据库
查看>>
64 位文件共享锁定数溢出_一位教授如何通过共享教科书为学生节省数百万美元
查看>>
网络虚拟化 软件定义网络_软件定义网络简介
查看>>
组织学习:DevOps的新视角
查看>>
openstack项目_沃尔玛的OpenStack,项目改革现状等
查看>>
unity 作弊_屏幕作弊没问题,Unity打开,等等
查看>>
推动互操作性,OpenStack卡座等
查看>>
linkedin开源列表_Google的新容器项目,LinkedIn上的开源代码,Raspberry Pi B +,等等
查看>>
openstack项目_软件定义的经济,OpenStack的新孵化项目等
查看>>