博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA给网站添加爬虫数据-超简单(jsoup)新闻图片数据
阅读量:4137 次
发布时间:2019-05-25

本文共 1858 字,大约阅读时间需要 6 分钟。

开发中,免不了需要添加一些假数据方便测试,但是自己添加的一般又不会太规范,所以使用爬虫来给系统添加一些假数据方便测试。

一:图片数据获取

ps:【我获取的是500px上面的数据】

1.打开500px官网,打开F12即可获取到该资源链接,修改page页码即可。
2.实际使用中,可能会出现防盗链,图片403情况,页面头部添加<meta name="referrer" content="no-referrer" />即可
在这里插入图片描述

String url="https://500px.com.cn/community/discover/rankingRise";//实际中,修改下方链接中的page页码即可,我这里写死了String result = HttpUtils.sendGet(url,"resourceType=0,2&startTime=&page=1&size=30&type=json");JSONArray jsonArray = JSONArray.parseArray(result);for(Object obj : jsonArray){
JSONObject json = (JSONObject)obj; JSONObject urlList = (JSONObject)json.get("url"); //通过F12可以看到该接口Json串url字段是图片的链接,url字段里有p1,p2,p3,p4字段,分别对应图片大小 System.out.println("图片的链接是:" + urlList.get("p3").toString());}

一:新闻数据获取

ps:【我获取的是百度新闻上面我们本地的新闻数据,利用Jsoup对页面数据进行获取,然后保存数据库】

1.打开百度新闻页面,例如我要获取的是https://www.henan100.com/news/hn/这个页面的新闻
2.获取新闻列表页数据,打开F12,页面一直向下滑动,会发现这个页面一直加载,只不过是数字变了变。(使用循环获取每个页码的数据,本文示例只获取一个列表页面的数据
在这里插入图片描述
3.我们就可以通过调这个页面的接口来获取不同页码下的列表数据

4.利用jsoup需要分析页面上的html标签,接下来分析一下列表页的标签

在这里插入图片描述
4.捎带着分析一下详情页的标签

在这里插入图片描述

5.上代码根据上面的思路获取数据 - 【我就不保存数据库了,就写一段这个代码,剩下的你们发挥吧。】

//根据链接获取该列表页dom(实际中可以使用循环,改改1_1_1455这几个数字即可)Document doc = Jsoup.connect("https://www.henan100.com/e/action/ListInfo/1_1_1455.shtml").get();//根据列表页,找出来所有详情页的链接Elements allLinks = doc.getElementsByClass("news-list").select("a[href]");for(Element ele : allLinks){
String href = ele.attr("href"); //根据详情页链接,获取详情页的dom Document detailDOM = Jsoup.connect(href).get(); //获取详情页中class为newsContentLeftTitle元素下面的h1标签内容 String title = detailDOM.select("div.newsContentLeftTitle>h1").text(); System.out.println("文章标题:"+ title ); //获取详情页中ID为contentWraper的div标签内容 String content = detailDOM.select("div#contentWraper").html(); System.out.println("文章内容:"+ content ); System.out.println("发布时间,责任编辑,审核人等标签我就不一一列举了,自行获取吧!"); System.out.println("码文不易,如果感觉有一点用,点个赞在走吧!");}

ps: 包名 import org.jsoup.Jsoup;

转载地址:http://ysxvi.baihongyu.com/

你可能感兴趣的文章
HOWTO: Booting from SD card using U-Boot
查看>>
Timestamping Linux kernel printk output in dmesg for fun and profit
查看>>
file lock in the Linux system
查看>>
Increase the android VM heap size.
查看>>
A successful Git branching model
查看>>
Use ADB to connect phone with Windows 7 over tcp
查看>>
The Four-Way Handshake
查看>>
802.11 Authentication and Association
查看>>
Open System authentication
查看>>
Wireless Operating Modes
查看>>
Wifi Connection
查看>>
802.11 Scan and Discovery
查看>>
RTS/CTS协议 (Both wlan and com are using it)
查看>>
Wireless Ad-Hoc Network – Linux
查看>>
802.11ac and 802.11ad
查看>>
IEEE 802 LAN/MAN Standards Committee
查看>>
AES算法分析与实现
查看>>
802.11 Four-way handshake Messages
查看>>
TI DaVinci(达芬奇)入门
查看>>
There's Much More than Intel/AMD Inside
查看>>