爬虫 -----爬取某个网站信息

news/2024/5/21 13:23:56/文章来源:https://blog.csdn.net/weixin_44593504/article/details/108974921

一.Java爬取某个网站的信息

1.项目gitee地址:https://gitee.com/Javaxieyue/reptiles.git

2.爬取网站的地址:

http://www.mca.gov.cn//article/sj/xzqh/2020/2020/2020092500801.html

3.要求:需要对html页面有点了解,以便对爬出的数据进行标签解析

4.爬取的是国家行政区域名称以及编号的信息。

二.以下是源代码:

1.pom文件

   <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin></plugins></build><dependencies><!--解析HTML--><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.2</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.41</version></dependency></dependencies>

2.实体类:存储爬取的数据

/*** 用于存放爬取的数据实体类进行存放*/
public class ChinaRegionInfo {//行政区域名称private String areaName;//行政区域编号private String areaCode;//行政区域类型;1.省级,2.市级,3.区县级private int areaType;//上级行政区域编码private String parentAreaCode;public String getAreaName() {return areaName;}public void setAreaName(String areaName) {this.areaName = areaName;}public String getAreaCode() {return areaCode;}public void setAreaCode(String areaCode) {this.areaCode = areaCode;}public int getAreaType() {return areaType;}public void setAreaType(int areaType) {this.areaType = areaType;}public String getParentAreaCode() {return parentAreaCode;}public void setParentAreaCode(String parentAreaCode) {this.parentAreaCode = parentAreaCode;}
}

3.业务类:具体爬取的实现

import com.alibaba.fastjson.JSONArray;
import com.pachong.pojo.ChinaRegionInfo;
import org.apache.commons.lang.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;/*** 对网页进行爬取:http://www.mca.gov.cn//article/sj/xzqh/2020/2020/2020092500801.html*/
public class DealService {//需要抓取的网页地址private static final String URL = "http://www.mca.gov.cn//article/sj/xzqh/2020/2020/2020092500801.html";public static void main(String[] args) throws IOException {List<ChinaRegionInfo> regionsInfoList = new ArrayList<ChinaRegionInfo>();//抓取网页信息Document document = Jsoup.connect(URL).get();//获取真实的数据体Element element = document.getElementsByTag("tbody").get(0);String provinceCode = "";//省级编码String cityCode = "";//市级编码if(Objects.nonNull(element)){Elements trs = element.getElementsByTag("tr");for (int i = 3; i < trs.size(); i++) {//前3个tr只是页面标题不抓取Elements tds = trs.get(i).getElementsByTag("td");if(tds.size() < 3){continue;}Element td1 = tds.get(1);//行政区域编码Element td2 = tds.get(2);//行政区域名称if(StringUtils.isNotEmpty(td1.text())){if(td1.classNames().contains("xl7024734")){if(td2.toString().contains("span")){//市级ChinaRegionInfo chinaRegions = new ChinaRegionInfo();chinaRegions.setAreaCode(td1.text());chinaRegions.setAreaName(td2.text());chinaRegions.setAreaType(2);chinaRegions.setParentAreaCode(provinceCode);regionsInfoList.add(chinaRegions);cityCode = td1.text();} else {//省级ChinaRegionInfo chinaRegions = new ChinaRegionInfo();chinaRegions.setAreaCode(td1.text());chinaRegions.setAreaName(td2.text());chinaRegions.setAreaType(1);chinaRegions.setParentAreaCode("");regionsInfoList.add(chinaRegions);provinceCode = td1.text();}} else {//区或者县级ChinaRegionInfo chinaRegions = new ChinaRegionInfo();chinaRegions.setAreaCode(td1.text());chinaRegions.setAreaName(td2.text());chinaRegions.setAreaType(3);chinaRegions.setParentAreaCode(StringUtils.isNotEmpty(cityCode) ? cityCode : provinceCode);regionsInfoList.add(chinaRegions);}}}}//打印结果System.out.println(JSONArray.toJSONString(regionsInfoList));}
}

4.结果

注:篇幅有限,只展示部分结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_780672.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sharepoint 创建个人网站时出现错误。有关详细信息,请与网站管理员联系

SharePoint Server 2007 / MOSS 2007 中启用了个人网站功能&#xff0c;并且配置了正确的SSP&#xff0c;可是用户在访问我的网站时总是提示&#xff1a;创建个人网站时出现错误。有关详细信息&#xff0c;请与网站管理员联系。 MOSS服务器场 具体环境如下&#xff1a; AD服务…

tomcat出现404的原因_Seo优化,404页面优化,这样做有利于网站页面优化-深圳长诚网络...

404页面就是在用户访问你的网站的某个地址的时候&#xff0c;如果这个地址不存在或者内容删除后&#xff0c;展现给用户看的页面。大多数站长在做站内优化时都会有404设置这么一项工作。如如果没有设置404页面&#xff0c;那么用户或的页面就是一个错误的页面&#xff0c;则搜索…

谈谈网站静态化

写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案,同时和大家探讨一下,在开源产品大行其道,言架构必称MemberCache, Nginx,的时…

非常推荐:搭建一个大型网站架构的实验环境(FreeBsd+Nginx+Squid+Apache)

非常具有教育性质的好贴&#xff0c;决定本周在家按照教程学习。

大型网站架构(转帖)--详细介绍阶段性需求和应对方法

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如 LiveJournal的、 ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什…

同服务器的网站被K该怎么办,网站首页被K应该如何处理?

原标题&#xff1a;网站首页被K应该如何处理&#xff1f;上个月小编手里有几个网站首页被K&#xff0c;整站的收录和索引都正常&#xff0c;内页的排名也还在&#xff0c;唯独首页被K了&#xff0c;找了很久也没找出原因所在。网站的服务器、站内代码、文章质量、友情链接、关键…

55个神奇的网站布局

我们总是在摸索着网站布局的效果展示&#xff0c;总是花费不少心思在考虑用户体验的极致所在&#xff0c;在这里我在一个国外的网站看到以下网站布局方式&#xff0c;实为好赞&#xff0c;所以贴下来分享&#xff0c;并从中我们可以去为移动终端这块做最新的参考与演化方式。。…

小网站架构优化-提升抗并发能力:子应用程序分离方案

前言&#xff1a;标题为啥要加个“小”&#xff0c;只因为上一篇文章“小网站架构优化&#xff1a;从100并发抗到4000并发”&#xff0c;带了个“小”字&#xff0c;所以这篇也顺流加个“小”了。大意“小”是特指秋色园&#xff08;流量小&#xff0c;服务器配置低&#xff09…

打造成功电子商务网站的六大设计准则

我能信任你吗&#xff1f;这是所有网购用户忐忑不安的下订单之前都会在心里向网站问的一个问题。 你不能因此指责他们&#xff0c;因为这个时候他们正将自己的信用卡信息提交到你的网站上&#xff0c;而这又仅仅是因为他们认为你会将商品寄送给他们。 关于电子商务网页设计一直…

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

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

初步试用Squid的替代产品──Varnish Cache网站加速器

[2007-8-29 18:45 | by 张宴 ] Varnish是一款高性能的开源HTTP加速器&#xff0c;挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid&#xff0c;性能比以前更好。Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一&#xff0c;他认为现在…

用Varnish代替Squid做网站缓存加速器的详细解决方案

[文章作者&#xff1a;张宴 本文版本&#xff1a;v1.2 最后修改&#xff1a; 2008.01.02 转载请注明出处&#xff1a; http://blog.s135.com]我曾经写过一篇文章──《 初步试用Squid的替代产品──Varnish Cache网站加速器》&#xff0c;但当时仅仅是用着玩&#xff0c;没做深…

基于SSM的在线视频教育网站系统【附源码】

项目概述 基于SSM的在线视频教育网站系统设计与实现.系统分为管理员与普通用户两种角色。非maven项目。 1)登录模块 在进入系统首页后&#xff0c;首先看到的是登录界面&#xff0c;该界面会提供注册用户的功能&#xff0c;在登陆界面&#xff0c;输入用户名之后&#xff0c;首…

15+ 易响应的CSS框架快速开启你的敏捷网站项目

由 于移动互联用户的快速增加&#xff0c;现在数量已经超出10亿&#xff0c;几乎可以肯定的是你的网站每天都会有移动用户访问。如果你组织计划创建一个对移动用户友好的浏览体 验&#xff0c;有多个方面需要考虑。响应快速的网站设计似乎现在很流行&#xff0c;但是仅依赖你的…

Fixed Responsive Nav – 响应式的单页网站导航插件

Fixed Responsive Nav 是一个响应式的&#xff0c;固定的&#xff0c;触摸友好的单页网站导航插件&#xff0c;响应式导航&#xff0c;流畅的动画滚动。该项目采用渐进增强构建&#xff0c;支持工作在 IE6 及以上版本的浏览器。 你可以给导航打开的内容添加一个遮罩&#xff0c…

中介网站 自己接活_做网站赚钱项目之本地租房网站项目可行性和盈利模式

老蒋经常看到一些群里网友在交流哪些网站能够赚钱&#xff0c;也看到很多网赚类社群、网站关注度相对比普通网站高的&#xff0c;毕竟任何兴趣爱好都不如学习到如何赚钱有兴趣。其实&#xff0c;不论是个人博客网站&#xff0c;还是企业商业网站&#xff0c;只要项目没有太大的…

能直接挂在iis的动静态网站_Web应急实战篇(三):批量挂黑页

作为一个网站管理员&#xff0c;你采用开源CMS做网站&#xff0c;比如dedecms&#xff0c;但是有一天&#xff0c;你忽然发现不知何时&#xff0c;网站的友情链接模块被挂大量垃圾链接&#xff0c;网站出现了很多不该有的目录&#xff0c;里面全是博彩相关的网页。而且&#xf…

php网站如何在浏览器中运行环境,关于在浏览器中运行的详细介绍

【1】首先&#xff0c;编写的applet程序必须要在eclipse中能正常运行&#xff0c;本文代码如下&#xff1a;[java] view plain copypackage applet;import javax.swing.*;public class applet extends JApplet{public void init() &nb简介&#xff1a;本篇文章向您介绍了教…

java 理财网站_基于jsp的投资理财网站-JavaEE实现投资理财网站 - java项目源码

基于jspservletpojomysql实现一个javaee/javaweb的投资理财网站, 该项目可用各类java课程设计大作业中, 投资理财网站的系统架构分为前后台两部分, 最终实现在线上进行投资理财网站各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类投资理财网站相关的实体…

WSTMall网站系统最新官方版

WSTMall V1.0是在thinkphp 的经典版本3.2.2基础上进行优化开发的&#xff0c; TP 3.2.2不是thinkphp的一个最新的版本&#xff0c;却是thinkphp最金典的一个版本&#xff0c;正所谓站在巨人的肩膀上&#xff0c;WSTMall V1.0继承了thinkphp大道致简的理念&#xff0c;继承了thi…