java从网页抓取数据(网上java人才的需求数量(1)_java基础)
优采云 发布时间: 2022-04-07 21:14java从网页抓取数据(网上java人才的需求数量(1)_java基础)
假设您需要获取51job人才网对Java人才的需求。首先,您需要分析 51job网站 的搜索是如何工作的。通过分析网页的源代码,我们发现了以下信息:
1. 页面搜索时请求的URL为
2. 请求使用的方法是:POST
3.返回的页面编码格式为:GBK
4. 假设我们在搜索java人才的时候要获取结果页显示的需求数量,我们发现返回的HTML数据中有这样一段代码:
1-30/14794
,所以我们可以得到这样一个模式:“.+1-/d+ / (/d+).+”,第一组的内容就是我们最终需要的数据,java中的模式请参考java文档Pattern类介绍
5. 另外,作为POST请求,页面发送给服务器的数据如下(这个可以很容易被prototype等js框架捕获,参考我的另一篇博客介绍):lang=c&stype =1&postchannel=0000&fromType=1&line =&keywordtype=2&keyword=java&btnJobarea=%E9%80%89%E6%8B%A9%E5%9C%B0%E5%8C%BA&jobarea=0000&image=&btnFuntype=%E9%80%89%E6 %8B%A9%2F %E4%BF%AE%E6%94%B9&funtype=0000&btnIndustrytype=%E9%80%89%E6%8B%A9%2F%E4%BF%AE%E6%94%B9&industrytype=00
我们不关心第 5 条中的哪些数据是服务器真正需要的,直接发送即可。有了这些准备工作,我们就可以真正开始通过java发送请求,得到最终的数据了。
我们定义了 Resource 类,它封装了所有请求相关的信息。资源包括以下属性:
这是抓取内容的代码:
如果不需要提交表单就可以得到最终结果,显然上面的操作有点小题大做,只需要删除上面的部分代码即可。如果还是不明白,可以QQ联系我(370017514))。