java从网页抓取数据(网上java人才的需求数量(1)_java基础)

优采云 发布时间: 2022-04-07 21:14

  java从网页抓取数据(网上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))。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线