HTML5技术

各大招聘网站信息实时查询浏览【二】 - 敷衍不起(2)

字号+ 作者:H5之家 来源:H5之家 2015-11-04 13:52 我要评论( )

if ($(obj).next().hasClass("dataInfo" ))$(obj).next().toggle(); $(obj).after( "div正在加载.../div"); // 否则提示正在加载 $.ajax({ // 发起请求 url: apiHref + "/api/HiJob?url=" + url,data: null ,before

if ($(obj).next().hasClass("dataInfo")) $(obj).next().toggle(); $(obj).after("<div>正在加载...</div>");//否则提示“正在加载” $.ajax({//发起请求 url: apiHref + "/api/HiJob?url=" + url, data: null, beforeSend: function (XHR) { }, success: function (data) { $(obj).next(".dataInfo").html(eval(data.data));//用内容替换提示信息 }, dateType: "json" });

 

新增拉勾网的数据

我后期又加了“拉勾”网的招聘信息。其他的网站都是直接链接,取信息。而偏偏拉勾就是不同。它是,请求->页面加载->ajax异步请求详情->追加到页面。然而,就因为这个异步,好几个同学就搞不定了。问我,拉勾的数据为什么取不到。在这里就统一分析下吧。

请求如:?city=上海  在浏览器F12监控。

我们可以看到信息列表数据是从?city=上海地址,通过ajax的post请求取得的。

所以,我们后台模拟一个post请求就完事了。

StringContent fromurlcontent = + pn + + kd); fromurlcontent.Headers.ContentType = ); fromurlcontent.Headers.Add(, ); HttpClient httpclient = new HttpClient(); HttpResponseMessage responseMsg = httpclient.PostAsync(result = responseMsg.Content.ReadAsStringAsync().Result; JavaScriptSerializer _jsSerializer = new JavaScriptSerializer(); LagouInfo JPostData = _jsSerializer.Deserialize<LagouInfo>(result);

 

注意了,我们得到数据之后。还进行的反序列化。因为数据是json格式的。但,不是所有数据都是我们想要的。所以进行序列化,然后只取我们想要的数据。(当然,序列化类,是我对着json数据一个个抠出来,写的类属性)

序列化类:

public class LagouInfo { public string code; public Ccontent content; public string msg; public string requestId; public string resubmitToken; public string success; } public class Ccontent { public string currentPageNo; public string hasNextPage; public string hasPreviousPage; public string pageNo; public string pageSize; public List<Cresult> result; public string start; public string totalCount; public string totalPageCount; } public class Cresult { public string adWord; public string adjustScore; public string city; public string companyId; public List<string> companyLabelList; public string companyLogo; public string companyName; public string companyShortName; public string companySize; public string countAdjusted; public string createTime; public string createTimeSort; public string education; public string financeStage; public string formatCreateTime; public string haveDeliver; public string industryField; public string jobNature; public string leaderName; public string orderBy; public string positionAdvantage; public string positionFirstType; public string positionId; public string positionName; public string positionType; public string positonTypesMap; public string randomScore; public string relScore; public string salary; public string score; public string searchScore; public string showOrder; public string totalCount; public string workYear; }

View Code

 

然后,接着组装自己想要的数据。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注 - QISHUANG

    调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加

    2017-04-18 10:02

  • 使用phonegap获取设备的一些信息 - ganchuanpu

    使用phonegap获取设备的一些信息 - ganchuanpu

    2017-03-30 13:00

  • 管理软件公司与互联网公司的区别 - 信息化建设

    管理软件公司与互联网公司的区别 - 信息化建设

    2017-01-01 13:03

  • 信息采集系统中,一场关于异构平台通信的风波 - 熬夜与烟

    信息采集系统中,一场关于异构平台通信的风波 - 熬夜与烟

    2016-07-15 11:00

网友点评
7