public classTest {/***

*简单抓取当当图书分类中某一页指定信息输出到控制台并保存到文件中*/

public static void main(String[] args) throwsIOException {

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 responseHandler = response ->{int status =response.getStatusLine().getStatusCode();if (status >= 200 && status < 300) {

HttpEntity entity=response.getEntity();return entity != null ? EntityUtils.toString(entity) : null;

}else{throw new ClientProtocolException("Unexpected response status: " +status);

}

};//得到请求体也就是页面源码responseBody

String responseBody =httpclient.execute(httpget, responseHandler);

System.out.println("----------------------------------------");//使用Jsoup解析得到一个document对象,代表这个页面

Document document=Jsoup.parse(responseBody);//这是人为分析源码中的数据后,取docunment中需要的元素

Element pos=document.getElementsByClass("bigimg").get(0);

Elements list=pos.children();for(Element e:list){

Element name= e.getElementsByClass("pic").get(0);

Element detail= e.getElementsByClass("detail").get(0);

Element author= e.getElementsByAttributeValue("name","itemlist-author").get(0);

Element press= e.getElementsByAttributeValue("name","P_cbs").get(0);

Element market= e.getElementsByClass("search_pre_price").get(0);

Element sale= e.getElementsByClass("search_now_price").get(0);

System.out.println("图书名:"+name.attr("title"));

System.out.println("简介:"+detail.text());

System.out.println("作者:"+author.text());

System.out.println("出版社:"+press.text());

System.out.println("市场价:"+market.text());

System.out.println("惊喜价:"+sale.text());

System.out.println("--------------------");//添加要写入文件的信息

writer.write(name.attr("title")+","+detail.text()+","+author.text()+","+press.text());

writer.newLine();

}

}finally{

writer.close();

httpclient.close();

}

}

}

当当图书分类html,基于httpclient与jsoup的抓取当当图书页面数据简单Demo相关推荐

  1. 使用Jsoup抓取京东图书分类页面图书信息

    一.目的: 1.任务 使用 Jsoup抓取京东图书分类页面的图书信息. 抓取目标分类网址例如:https://list.jd.com/list.html?cat=1713,3259,3330 给与的某 ...

  2. Python进阶之Scrapy-redis分布式爬虫抓取当当图书

    Python进阶之Scrapy-redis分布式爬虫抓取当当图书 1. 准备工作 1.1 安装scrapy-redis 1.2 在windows安装redis程序 1.3 打开redis服务 2. 需 ...

  3. 面向6G网络自动化的知识驱动可解释人工智能(XAI);基于汽车事件数据的脉冲神经网络目标检测;对称分类方案下波导阵列中的BIC;PreMovNet:基于运动前脑电的抓取和提举手运动学估计

    可解释的机器学习 中文标题:面向6G网络自动化的知识驱动可解释人工智能(XAI) 英文标题:Knowledge-powered Explainable Artificial Intelligence ...

  4. 在当当买了python怎么下载源代码-初学Python 之抓取当当网图书页面目录并保存到txt文件...

    这学期新开了门"高大上"的课<机器学习>,也开始入门Python.然后跟我们一样初学Python 的老师布置了个"作业"--用Python 弄个抓取 ...

  5. 基于学习的机械臂抓取研究综述

    1.基于学习的机械臂抓取研究综述 Kleeberger, K., Bormann, R., Kraus, W. et al. A Survey on Learning-Based Robotic Gr ...

  6. 基于Thinkphp5+phpQuery 网络爬虫抓取数据接口,统一输出接口数据api

    TP5_Splider 一个基于Thinkphp5+phpQuery 网络爬虫抓取数据接口 统一输出接口数据api.适合正在学习Vue,AngularJs框架学习 开发demo,需要接口并保证接口不跨 ...

  7. 物体抓取位姿估計算法綜述_基于深度学习的物体抓取位置估计

    主讲题目:基于深度学习的物体抓取位置估计 主要内容:机械臂抓取技术简介与入门方法 主讲嘉宾:东北大学研究生,主要研究物体六自由度位姿估计,机械臂抓取. 知乎视频​www.zhihu.com 往期干货资 ...

  8. 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...

    在线演示  本地下载 如果你曾经开发过内容聚合类网站的话,使用程序动态整合来自不同页面或者网站内容的功能肯定对于你来说非常熟悉.通常使用java的话,我们都会使用到一些HTML的解析,例如,httpp ...

  9. python爬取京东图书_Python抓取京东图书评论数据

    Python抓取京东图书评论数据 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python抓取京东图书评论数据.txt ] (友情提示:右键点上行txt文档名- ...

  10. 基于 Scrapy-Redis 全国房源信息抓取系统

    基于 Scrapy-Redis 全国房源信息抓取系统 摘要 近几年,人们对房源信息的关注度越来越高.如何对全国房源信息进行灵活高效的采集并存储,对全国房源信息的分析工作起到重要作用.文中在分析房天下站 ...

最新文章

  1. C++ QT中的QSound使用方法
  2. 如何发布打印机文件夹及ICA 客户端打印机配置工具
  3. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(权重,盒子模型)
  4. element-ui中el-table的表头、内容样式
  5. 如何将原图和json融合_用 base64 进行图片和字符串互转,并保存至 json
  6. Mosquitto --topic
  7. [转]windows2003的IIS详细设置方法
  8. resent代码详解
  9. tcp_nodelay memcached java_spymemcached 的 useNagle 问题与 TCP/IP延迟发送数据
  10. VSTO:无法安装此应用程序,因为已安装具有相同标识的应用程序(亲测有效)
  11. 【思科模拟器实验】交换机路由器基本配置
  12. NERO8注册码序列号
  13. ECharts实现数据可视化入门教程(超详细)
  14. 实施整体变更控制-管理过程
  15. windows7计算机不显示u盘,win7插上u盘不显示盘符怎么办|win7 u盘识别不显示盘符的解决方法...
  16. python中label函数_让Label像Button一样可以点击
  17. deepin系统中.txt文件图标显示内容问题_深度操作系统 deepin V20(UOS)的10大优化操作
  18. httpclient报错:Invalid use of BasicClientConnManager: connection still allocated. Make sure to release
  19. 自定义CollapsingToolbaLayout完成可收缩的带头像的Toolbar
  20. 卡巴斯基遭攻击 Duqu 2.0 翻译

热门文章

  1. 银河麒麟操作系统添加字体
  2. VB的阶乘和伽马函数
  3. influxdb可视化工具
  4. HTML5开发从入门到精通学习路线图
  5. 阿里云服务安装与卸载rabbitmq
  6. GOOGLE本地搜索
  7. [CM311-1A]-全网最全 Android 软件管理
  8. xposed微信长视频转发_微信万能转发模块xposed下载-微信万能转发模块最新版下载2.2.0-西西软件下载...
  9. Anaconda下载安装与手动配置环境变量
  10. 电信机顶盒,废弃机顶盒复活,华为电信定制机顶盒,固件。设置关闭限制apk选项。安装自己所需的apk软件。