java多个页面爬取_java爬取html页面(简易通用版)

项目环境

ide:intellij IDEA 2017.2.5

编程语言:java

数据库:mysql

管理工具:maven

需要导包:mysql-connector-java,jsoup(解析html)等,如果要解析json可能还要导入gson的包。

我把重要的依赖贴出来(默认大家都是使用过maven的,如果不使用maven,你可以到网上下载jar包添加到项目里):

com.google.code.gson

gson

2.8.0

mysql

mysql-connector-java

5.1.38

org.jsoup

jsoup

1.9.2

代码解析html页面

我是以boss直聘网搜索职业为html爬取的

如:https://www.zhipin.com/job_detail/?query=java&city=101020100&industry=&position=

public static void main(String[] args) throws IOException {

Boss boss = new Boss();

//输入要爬取的页面

String url = "https://www.zhipin.com/job_detail/?query=java&city=101020100&industry=&position=";

System.out.println(url);

try {

// 添加时间间隔 5s 解决 418问题。

Thread.sleep(5000);

} catch (InterruptedException e) {

e.printStackTrace();

}

//解析html

Document doc = Jsoup.connect(url)

.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36").get();

System.out.println(doc);

Elements listDiv = doc.getElementsByAttributeValue("class", "company-text");

for (Element text : listDiv) {

Elements a = text.getElementsByTag("a");

String href = a.get(0).attr("href");

String ka= a.get(0).attr("ka");

String span = a.text();

System.out.println(href);

System.out.println(ka);

System.out.println(span);

String url2 = "https://www.zhipin.com"+href+"?ka="+ka;

Document document = Jsoup.connect(url)

.userAgent("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)").get();

Elements listdiv = document.getElementsByAttributeValue("class", "business-detail");

for (Element text1 : listdiv) {

Elements li = text1.getElementsByTag("li");

String legalperson = li.get(0).text();

String capital = li.get(1).text();

String province = li.get(5).text();

System.out.println(legalperson);

System.out.println(capital);

System.out.println(province);

}

}

}

爬取boss直聘网需谨慎,随时封ip

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

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

相关文章

设计一个医院

源于个人网站:http://programmer.2008red.com/programmer/article_647_777_1.shtml 收到一封来自Exoweb的邮件,让去面试(败的很惨,呵呵。过了好长时间了,都忘记这事了,结果这公司来了邮件,说不能…

powerbi的功能介绍_Power BI:1分钟快速生成可视化报表

1.什么是Power BI ?Power BI 是微软推出的可视化工具,先来看看微软官方是怎么介绍的:使用用于自助服务和企业商业智能 (BI) 的统一、可扩展平台(该平台易于使用,可帮助获取更深入的数据见解),连…

易语言 java支持_开源Java客户端可以连接易语言服务器

我们的服务端处理客户端的连接请求是同步进行的, 每次接收到来自客户端的连接请求后,都要先跟当前的客户端通信完之后才能再处理下一个连接请求。 这在并发比较多的情况下会严重影响程序的性能,为此,我们可以把它改为如下这种异步…

Javascript--File对象

描述: 提供对文件属性的访问.属性: 属性描述Attributes设置或返回文件或文件夹的属性DateCreated返回指定文件或文件夹的创建时间DateLastAccessed返回最近访问文件或文件夹的创建时间DateLastModified返回最后修改指定文件和文件夹的日期和日期Drive返回指定文件或文件夹所在的…

idea怎么调试jsp页面_解决idea的c标签错误

Hello,World.土土来啦!最近做jq项目,遇到各种各样的问题。首先就是c标签的错误。对,没错,就是这一串因为土土上学期学的是jsp,所以是在myeclipse做的,这学期就想在idea做后端。然后复制粘贴之前的项目的时候&#xff0…

[SlickEdit] SlickEdit支持目录别名FTP控件更新

有阵没写代码了,SlickEdit升级到2009还没怎么用过,Option面板改动得更像Eclipse了,反正IDE工具也不知道到底谁抄袭谁,只是Symbol Coloring设置太唬人了吧,,默认的symbol coloring总是出现字符偏移&#xff…

有一台服务器远程失败其他电脑可以_使用闲置电视盒子打造家庭网盘和远程下载器和小型服务器(二)...

使用闲置电视盒子打造家庭网盘和远程下载器系列(二)本系列分为五章一、综述二、电视盒子的root三、app的安装和服务器环境的搭建四、网盘系统的部署和使用五、远程下载系统搭建和实现昨天写了第一章,我这是首次写东西,没想到能得到这么多朋友关注&#x…

php echo 前后有字符串,php echo 输出字符串函数详解、多行输出方法

echo "abc";//字符串echo "abc$c";//字符串变量echo abc$c;//字符串 asd$c $c不是变量echo "abc"."de";echo "abc","de";echo $a;echo $a.$b;echo $a,$b;echo $a.$b.$c;echo $a,$b,$c;echo "abc{$c}de"…

基于C#.NET的--Windows进程管理工具

基于.NET(C#)编写。 实现了进程的树状显示父子关系,其中应用到了WMI编程,以及P-invoke. 下载地址: 点击右键另存为 地址如上,需要安装.NET环境,地址:http://www.microsoft.com/downloads/details.aspx?displaylangzh-…

php编译成二进制文件_2020年小米高级 PHP 工程师面试题

1、通过哪一个函数,可以把错误转换为异常处理?A:set_error_handlerB:error_reportingC:error2exceptionD:catch正确答案:A答案分析:set_error_handler () 可指定一个回调函数&#x…

php实现视频转gif,在Linux上将视频转换成动态gif图片

本文记录一下在linux上将视频转换成动态gif图片的方法。首先,需要在Linux系统上安装FFmpeg,我会用这个工具去解压从视频中解压出视频帧。下面的指令会解压出独立的视频帧,将它们保存为GIF图片。确保使用诸如("out%04d.gif")的输出文…

用GDB Server进行远程调试

某些时候由于模拟环境的限制,调试必须要在目标板上进行。由于嵌入式系统资源比较有限,一般不能在目标板上直接构建GDB的调试环境,这时我们通常采用gdbgdbserver的远程调试方法:gdbserver在目标板中运行,而gdb则在主机上…

前端的请求最大线程数是多少啊_面试官:创建多少个线程合适,我该怎么说?...

转载:https://mp.weixin.qq.com/s/j5d4Jtxo0RgJWgpnG9HxlQ为什么要使用多线程?防止并发编程出错最好的办法就是不写并发程序既然多线程编程容易出错,为什么它还经久不衰呢?A:那还用说,肯定在某些方面有特长…

php打印出函数的内容吗,PHP打印函数集合详解以及PHP打印函数对比详解(精)

1 echo();2 print();3 die();4 printf();5 sprintf();6 print_r();7 var_dump(); 1 echo() 可以同时输出多个字符串,可以多个参数,并不需要圆括号,无返回值。 2 print() 只可以同时输出一个字符串,一个参数,需要圆括号,有返回值,当其执行失败时返flase .prin1 echo(…

正则表达式(1)

字符转义 大多数重要的正则表达式语言运算符都是非转义的单个字符。转义符 \(单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。例如,分析器将星号 (*) 视为重复限定符,而将后跟星号的反斜杠 (\*) 视为 Unicode 字符 …

百度地图infowindow的close事件_百度地图蒙圈:车主要加油误导母婴店 跑偏理由令人啼笑皆非...

常在江湖飘,哪有不挨刀。经常驾车出门在外的您,有过被导航坑的经历么?其实在早些年手机导航刚刚兴起的时候,这类现象确实比较常见,但是到了如今大数据的时代,手机导航数据更新比较及时,问题已经…

Linux中后台执行scp

最近在一台远程机器上scp一个大文件,需要大半天才能完全down下来,用xshell工具执行完命令之后还不能关闭,否则的话就停止了,我的本本还不能一直放这开xshell。就想到nohup,但是scp命令输入密码是提示的,不能…

质量效能研发部php,【百度】百度质量效能研发部【社招/实习】

职位:百度质量效能研发部【社招/实习】-百度【岗位职责】C研发工程师 / iOS∧orid 开发工程师 / 平台开发工程师 / 算法工程师(智能测试方向) base 上海、北京 本次招录面向各程序栈的优秀同学们,开放社招及实习入口,四类方向供大家选择&…

商业模式新生代_业务分析基础 - 商业模式新生代01篇

商业模式画布商业模式新生代由亚历山大奥斯特瓦德(Alexander Osterwalder)和伊夫皮尼厄(Yves Pigneur)编写,发表于2016年。该书提出了商业模式画布模型,既可以用于创业公司(Start-ups&#xff0…

yum 安装 sun java,CentOS yum安装sun Java jre jdk和openjdk

在Linux下的tty终端下,安装sun jre,但是去Oracle安装,下载居然还要登录,使用cookie,没办法。直接到http://www.java.com/下载了。说明:如果使用yum install 安装软件,具体的软件名称不知道&…