本文共 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标签,接下来分析一下列表页
的标签
详情页
的标签 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/