基于httpclient与jsoup的抓取当当图书页面数据简单Demo
2021-01-22 20:12
标签:key 查找 sea title name search 技术 下载 inf 来自Apache,可以通过Java代码发起HTTP请求 下载:http://hc.apache.org/downloads.cgi HttpClient是基于HttpCore的HTTP / 1.1兼容HTTP代理实现。它还为客户端身份验证,HTTP状态管理和HTTP连接管理提供了可重用的组件。
HTML解析工具,可以解析本地资源与在线资源 官网地址: https://jsoup.org/ JAR下载: https://jsoup.org/download 这些方法会返回 1.导入JAR 2.简单实现Demo 原理:通过HttpClient发起请求,经过处理后得到页面源码,通过Jsoup解析源码,获取其中的元素,从而获得其中的值 注意:得到源码后,在整个页面中需要什么信息要人为去找代码中的Class属性,Id属性,这里举例了几个简单的图书信息 基于httpclient与jsoup的抓取当当图书页面数据简单Demo 标签:key 查找 sea title name search 技术 下载 inf 原文地址:https://www.cnblogs.com/liyanglin/p/13284550.html一.httpclient
二.jsoup
Jsoup
封装并实现了DOM里面常用的元素遍历方法:
getElementById(String id)
getElementsByTag(String tag)
getElementsByClass(String className)
getElementsByAttribute(String key)
siblingElements()
, firstElementSibling()
, lastElementSibling()
; nextElementSibling()
, previousElementSibling()
parent()
, children()
, child(int index)
Element
或者Elements
节点对象,这些对象可以使用下面的方法获取一些属性:
attr(String key)
: 获取某个属性值attributes()
: 获取节点的所有属性id()
: 获取节点的idclassName()
: 获取当前节点的class名称classNames()
: 获取当前节点的所有class名称text()
: 获取当前节点的textNode内容html()
: 获取当前节点的 inner HTMLouterHtml()
: 获取当前节点的 outer HTMLdata()
: 获取当前节点的内容,用于script
或者style
标签等tag()
: 获取标签tagName()
: 获取当前节点的标签名称 三.DEMO
public class Test {
/**
*
*简单抓取当当图书分类中某一页指定信息输出到控制台并保存到文件中
*/
public static void main(String[] args) throws IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
//创建一个文件,用来保存信息
BufferedWriter writer=new BufferedWriter(new FileWriter("D:\\book.csv"));
try {
//发送请求URL填入当当网图书分类某一页面的地址
HttpGet httpget = new HttpGet("http://category.dangdang.com/cp01.36.04.08.00.00.html");
System.out.println("Executing request " + httpget.getRequestLine());
// Create a custom response handler
ResponseHandler
上一篇:jQuery知识点
下一篇:php网站部署故障处理
文章标题:基于httpclient与jsoup的抓取当当图书页面数据简单Demo
文章链接:http://soscw.com/index.php/essay/45571.html