抓取php网页源码( 如何获取学校官网的信息是否会侵权?会问)
优采云 发布时间: 2022-02-12 15:03抓取php网页源码(
如何获取学校官网的信息是否会侵权?会问)
Jsoup实现网络爬虫爬取数据
在编写软件的时候,比如教育软件,我们需要从学校官网获取一些新闻信息来丰富我们的软件,但是我们不会专门提供相关的API接口。这时候就需要我们自己去抓取有趣的了。信息。有些人会问,抓取 网站 的信息是否侵权。事实上,通过浏览器可以访问的信息一般都是公开的,抓取信息后不用于获取利益也无所谓,只是浏览方式不同而已。
获取整个网页的源代码
如果要抓取网页中的信息,首先要获取整个网页的源代码。
1 String url = "http://i.guet.edu.cn/";
2 Document doc = Jsoup
3 .connect(url)
4 .timeout(1000).get();
5
通过Jsoup中的方法,我们可以很方便的获取目标网页的源Document对象。好了,拿到整个网页的源代码之后,接下来就是抓取我们想要的信息了。我们现在要获取的是网页中滑动横幅的图片地址,如下图:
通过以下代码很容易得到图片的相对URL
1 Elements elements = doc.select("div#pic_lun");
2 Elements elements2 = elements.select("img");
3 for (Element el:elements2){
4 System.out.println(el.attr("src"));
5 }
6
控制台输出如下:
这样,我们就得到了我们想要的信息。另一个例子是获取新闻:
网页信息:
HTML 源代码部分:
然后我们尝试抓取:
1 String url_news = "http://i.guet.edu.cn/news.php?page=1&type=85";
2 Document doc = Jsoup
3 .connect(url_news)
4 .timeout(1000).get();
5 Elements e1 = doc.select("div#content_middle");
6 Elements e2 = e1.select("a");
7// System.out.print(e2);
8 for (Element el2 : e2) {
9 if (el2.text().length() > 20) {
10 StringBuffer sb = new StringBuffer();
11 sb.append(el2.text());
12 String time = sb.substring(0, 9);
13 String title = sb.substring(12);
14 System.out.print("time:"+time+"\n");
15 System.out.print("title:"+title+"\n");
16 System.out.print("link:"+"http://i.guet.edu.cn/"+el2.attr("href")+"\n");
17 }
18 }
19
控制台输出如下:
至此,数据抓取已经完成,需要将数据添加到listview中进行展示。这些数据将是有意义的。革命还没有成功,同志们还需要努力。
我是新手,有不对的地方请指正,文章原创