利用HttpURLConnection进行手机号段归属地数据采集.docVIP

利用HttpURLConnection进行手机号段归属地数据采集.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  公司里需要手机号段归属地资料,手头上没有现成的数据,就自己做了个采集器,连到网站上进行采集。这是最终运行界面: ? ?   首先在网页上输入至少7位的手机号码段进行查询,通过查看查询页面的HTML,发现将会提交两个参数:mobile=手机号码action=mobile,然后对结果页面的HTML进行分析,找到关键的两行HTML: Html代码 TD?width=130?align=center?noswap卡号归属地/TD?? TD?width=*?align=center?class=tdc2广东nbsp;广州/TD?? TD width=130 align=center noswap卡号归属地/TD TD width=* align=center class=tdc2广东nbsp;广州/TD 接下来的事情就是利用HttpURLConnection进行查询请求,并将返回的结果用正则表达式进行提取。程序的功能并不复杂,设计上也就简单地做了两个类,一个负责数据的分析和采集;另一个为Main主程??,负责用AWT构建界面和创建一个后台线程来调用采集类进行手机号段范围的循环提交请求,并将获取的数据写入文本文件。 Java代码 package?com.funper.collector; ?? ?? import?java.io.IOException; ?? import?java.io.InputStreamReader; ?? import?java.io.BufferedReader; ?? import?.HttpURLConnection; ?? import?.URL; ?? import?java.util.regex.Pattern; ?? import?java.util.regex.Matcher; ?? ?? /** ? ?*?分析和采集数据 ? ?* ? ?*/?? public?class?CollectAction?{ ?? ???? ?? ????//请求URL ?? ????private?static?final?String?REQUEST_URL=:8080/search.asp; ?? ????//请求方法 ?? ????private?static?final?String?REQUEST_MOTHOD=POST; ?? ????//提取手机号码归属地的正则表达式 ?? ????private?static?final?String?REGEX_EXP=^TD?width=\\*?align=\center\?class=tdc2(.*)/TD$; ?? ????//编译后的正则表达式Pattern对象 ?? ????private?static?final?Pattern?p=Ppile(REGEX_EXP); ?? ????//连接URL的HttpURLConnection对象 ?? ????private?HttpURLConnection?httpConn=null; ?? ???? ?? ????/** ? ?????*?获取手机号码归属地 ? ?????*?@param?requestParameter?提交参数 ? ?????*?@return?String ? ?????*/?? ????public?String?getMobileArea(String?requestParameter) ?? ????{ ?? ????????String?mobileArea=; ?? ????????BufferedReader?br=null; ?? ????????try?? ????????{ ?? ????????????httpConn=(HttpURLConnection)new?URL(REQUEST_URL).openConnection(); ?? ????????????httpConn.setRequestMethod(REQUEST_MOTHOD); ?? ????????????httpConn.setDoOutput(true); ?? ????????????httpConn.getOutputStream().write(requestParameter.getBytes()); ?? ????????????httpConn.getOutputStream().flush(); ?? ????????????httpConn.getOutputStream().close(); ?? ???????????? ?? ????????????br=new?BufferedReader(new?InputStreamReader(httpConn.g

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档