标签:Elements String 爬虫 Element 获取 document select
Python搞爬虫比较专业一些,Java也可以搞。 行情来了-- 为我们的客户提供比较精准的炒股,炒币等信息。
网站:https://www.abuquant.com/rankDetail/final_score_rank/coin/day#selectExchange
爬到数据之后,以邮件的方式发送给我的订阅客户! Java如何爬取想要的数据呢?--> Jsoup 工具。官网--https://jsoup.org/ JSoup 是java 开发的一款html解析器,可以直接解析某个url,html文本,提供了一整套非常省力的API.
参考网站:https://blog.csdn.net/justLym/article/details/105715516 该工具类: 先通过网址获取到一个Document对象 然后通过各种API获取Element 或者 Elements 元素
// 通过标签名来获取 Elements elements = document.getElementsByTag(String tagName);
// 通过类名来获取 Elements elements = document.getElementsByClass(String className);
// 通过属性名来获取 Elements elements = document.getElementsByAttribute(String key);
// 通过指定属性名称和属性值来获取节点对象 Elements elements = document.getElementsByAttributeValue(String key, String value);
// 获取所有节点元素 Elements elements = document.getAllElements();
```java public Elements select(String cssQuery) { return Selector.select(cssQuery, this); } File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); //带有href属性的a元素 Elements links = doc.select("a[href]"); //扩展名为.png的图片 Elements pngs = doc.select("img[src$=.png]"); //class等于masthead的div标签 Element masthead = doc.select("div.masthead").first(); //在h3元素之后的a元素 Elements resultLinks = doc.select("h3.r > a");
分析要爬取的网站:
@Test public void test04 () throws IOException{ List<Message> list =new ArrayList<Message>(); // 获取一个文档对象,一个网页就是一个文档 Document document = Jsoup.connect("https://www.abuquant.com/rankDetail/final_score_rank/coin/day#selectExchange").get(); // 获取该文档下面的,所有被class="newList" 修饰的元素 Elements lists = document.getElementsByClass("newsList"); // 获取newsList元素中的一个即可,在这个元素的第一个中,获取里面所有的li标签对象 Elements lis = lists.first().getElementsByTag("li"); System.out.println(lis.size()); for (int i = 0; i < lis.size() ; i++) { Message message =new Message(); Element element = lis.get(i); Element h3 = element.getElementsByTag("h3").first(); String coinName= h3.text(); System.out.println(coinName); message.setCoinName(coinName); Element xs8 = element.getElementsByClass("layui-col-xs8").first(); Elements ps= xs8.getElementsByTag("p"); for (int j = 0; j < ps.size(); j++) { Element p = ps.get(j); if(j==0){ message.setLevel(p.text()); } if(j==3){ message.setScore(p.text()); } System.out.println(p.text()); } list.add(message); } System.out.println(list); }
标签:Elements,String,爬虫,Element,获取,document,select 来源: https://www.cnblogs.com/xjl920912/p/15314218.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]
Copyright (C)ICode9.com, All Rights Reserved.
ICode9版权所有