java爬虫实战 |
您所在的位置:网站首页 › 怎么用java写一个网页 › java爬虫实战 |
故事的开头 新建个Maven项目,导入爬虫工具包Jsoup org.jsoup jsoup 1.10.2首先要拿到我们请求的网页的地址 用Jsoup的parse()方法解析网页,传入连个参数第一个参数是new URL(url),第二个参数设置解析时间如果超过30秒就放弃 然后获取到一个Document对象 之后就像我们操作JS代码一样,Document对象可以实现JS的所有操作 虽然拿到了数据但是有很多多余的信息,所以下一步过滤数据 因为class不是唯一的所以获取的是Elements对象我们要把它转换成Element对象才能进行下一步操作 Element el = chinajobs.first();将chinajobs中的第一个元素转换成Element对象(首先要确认我们需要的数据在将chinajobs中的第一个元素中) 通过分析发现我们需要的数据可以在title这个属性中提取出来 输出一下试试 System.out.println(el.getElementsByAttribute("title").text());确实过滤到了所有我们想要的数据 最后一步导出到excel,这里我是用的是poi工具包 org.apache.poi poi 3.17通过el.getElementsByAttribute(“title”).size()确定元素的数量 采用循环遍历输出 el.getElementsByAttribute(“title”).eq(i)通过eq(i)传入索引值确定元素值 在D盘新建一个上海招聘公司一览表.xls文件 public static void main(String[] args) throws IOException { // 获取请求 https://www.buildhr.com/area/shanghai/ String url = "https://www.buildhr.com/area/shanghai/"; Document document = Jsoup.parse(new URL(url), 30000); Elements chinajobs = document.getElementsByClass("chinajobs"); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("公司名列表"); Element el = chinajobs.first(); for (int i = 0; i FileOutputStream fout = new FileOutputStream("D:/上海招聘公司一览表.xls"); wb.write(fout); fout.close(); } catch (Exception e) { e.printStackTrace(); } }大功告成 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |