• 找工作神器,提取各大网站有效的招聘信息(前程无忧、智联招聘、猎聘网)


           又到一年的年终了(2014年只剩下最后一个月了),我相信很多园友又在酝酿明年年初换工作的计划了,或许因为年终奖、薪水、工作环境等等诸多原因又将选择跳槽了,這个计划当然也包括我自己,准备明年过完年后跳槽(希望能有个好运气,找个比现在好一点的工作)。换工作避免不了接触最多的还是招聘网站(现在公司招人基本上都是在招聘网上发布招聘信息),现在招聘网站乱七八糟,五花八门,不计其数,个人觉得比较出名的还是前程无忧、智联招聘、猎聘网等等网站,个人求职最关注也是这三个网站。以个人经验而言,如果运气好的话可能半个月的时间就能找到新工作,如果运气不好的可能就是三头几个月都有可能,我身边就有朋友找了半年的。为了有更多的面试机会可能会来回在这几个网站上转,每天都会在这几个网站上转啊转,花费的时间非常多,可能有很多公司都会在这三个网站发布招聘信息,所以就会浏览很多重复公司的信息,或者投递简历时出现重复投递这些公司。现个人利用一点点空余的时间,开发了一个小应用程序,這个程序的作用就是输入一些查询条件(工作地点、薪资范围、关键词等等信息)将这三个网站的所有的关于查询条件的招聘信息全部找出来,这样的避免了来回三个网站跑,浪费时间和精力,最后可能得到的效果还不理想,所以个人就准备做這一款利器来解决這个问题。当你看到表格中显示的信息个人比较感兴趣的话可以双击选中行就可以直接跳转到相应网站,这样就可以非常高效性的投递简历了,不知這个想法会不会得到园友的认同。下面就实现逻辑介绍给大家,望大家多支持和关注。

           找工作神器的主要原理是,根据查询条件去访问相应的网站,通过程序拿到相应网站的HTML代码,再通过相应的正则表达式取相应的信息,再去截取相应的重要信息,再将相应的信息显示在表格里。這里有使用到线程池异步的方式,同时会去三个网站抓取数据,并且会抓取一条解析一条就会在表格里显示出来,这样就避免等待太长时间还看不到结果的尴尬,程序发布后各位园友可以下载程序看看效果如何,还请您能提出宝贵的意见。

           整个程序显示的界面效果图:

           图片上面显示的是查询条件,输入查询条件后点击查询,下面显示的查询出的数据,分别有三个页签(猎聘网、智联招聘和前程无忧),表格分别显示职位名称、公司名称、公司性质、公司规模、月薪/年薪、工作地点、工作经验、最低学历和发布时间等等信息,日后根据需要还可以继续扩充想要看到的信息,实现看到信息的基本上跟网站上的信息差不多

    查询条件

     

           解析:现在输入的条件有工作地点、薪水范围(上限、下限),关键词、必须包含的关键词,现在暂时只支持以上几种条件,日后可能会继续加入更多的的查询条件(公司名称、公司性质、工作经验、学历要求等等条件,日后再扩展),使查询更方便。

    启动查询的代码如下:

            通过启动线程池异步的方式同时启动三个网站数据的加载,这样增强用户体验的效果,并且会拿到一条数据解析一条数据,并且及时显示在表格了,这样用户不需要等待太长的时间而看不到结果。

            程序启动首先会加载城市对应的ID的一个字典,数据加载如下:

       1 <?xml version="1.0"?>
       2 <SerializableDictionaryOfStringString>
       3   <SerializableDictionary>
       4     <key>
       5       <string>010</string>
       6     </key>
       7     <value>
       8       <string>北京</string>
       9     </value>
      10   </SerializableDictionary>
      11   <SerializableDictionary>
      12     <key>
      13       <string>020</string>
      14     </key>
      15     <value>
      16       <string>上海</string>
      17     </value>
      18   </SerializableDictionary>
      19   <SerializableDictionary>
      20     <key>
      21       <string>030</string>
      22     </key>
      23     <value>
      24       <string>天津</string>
      25     </value>
      26   </SerializableDictionary>
      27   <SerializableDictionary>
      28     <key>
      29       <string>040</string>
      30     </key>
      31     <value>
      32       <string>重庆</string>
      33     </value>
      34   </SerializableDictionary>
      35   <SerializableDictionary>
      36     <key>
      37       <string>050020</string>
      38     </key>
      39     <value>
      40       <string>广州</string>
      41     </value>
      42   </SerializableDictionary>
      43   <SerializableDictionary>
      44     <key>
      45       <string>050090</string>
      46     </key>
      47     <value>
      48       <string>深圳</string>
      49     </value>
      50   </SerializableDictionary>
      51   <SerializableDictionary>
      52     <key>
      53       <string>050030</string>
      54     </key>
      55     <value>
      56       <string>潮州</string>
      57     </value>
      58   </SerializableDictionary>
      59   <SerializableDictionary>
      60     <key>
      61       <string>050040</string>
      62     </key>
      63     <value>
      64       <string>东莞</string>
      65     </value>
      66   </SerializableDictionary>
      67   <SerializableDictionary>
      68     <key>
      69       <string>050050</string>
      70     </key>
      71     <value>
      72       <string>佛山</string>
      73     </value>
      74   </SerializableDictionary>
      75   <SerializableDictionary>
      76     <key>
      77       <string>050060</string>
      78     </key>
      79     <value>
      80       <string>惠州</string>
      81     </value>
      82   </SerializableDictionary>
      83   <SerializableDictionary>
      84     <key>
      85       <string>050070</string>
      86     </key>
      87     <value>
      88       <string>清远</string>
      89     </value>
      90   </SerializableDictionary>
      91   <SerializableDictionary>
      92     <key>
      93       <string>050080</string>
      94     </key>
      95     <value>
      96       <string>汕头</string>
      97     </value>
      98   </SerializableDictionary>
      99   <SerializableDictionary>
     100     <key>
     101       <string>050100</string>
     102     </key>
     103     <value>
     104       <string>顺德</string>
     105     </value>
     106   </SerializableDictionary>
     107   <SerializableDictionary>
     108     <key>
     109       <string>050110</string>
     110     </key>
     111     <value>
     112       <string>湛江</string>
     113     </value>
     114   </SerializableDictionary>
     115   <SerializableDictionary>
     116     <key>
     117       <string>050120</string>
     118     </key>
     119     <value>
     120       <string>肇庆</string>
     121     </value>
     122   </SerializableDictionary>
     123   <SerializableDictionary>
     124     <key>
     125       <string>050130</string>
     126     </key>
     127     <value>
     128       <string>中山</string>
     129     </value>
     130   </SerializableDictionary>
     131   <SerializableDictionary>
     132     <key>
     133       <string>050140</string>
     134     </key>
     135     <value>
     136       <string>珠海</string>
     137     </value>
     138   </SerializableDictionary>
     139   <SerializableDictionary>
     140     <key>
     141       <string>050150</string>
     142     </key>
     143     <value>
     144       <string>江门</string>
     145     </value>
     146   </SerializableDictionary>
     147   <SerializableDictionary>
     148     <key>
     149       <string>050160</string>
     150     </key>
     151     <value>
     152       <string>阳江</string>
     153     </value>
     154   </SerializableDictionary>
     155   <SerializableDictionary>
     156     <key>
     157       <string>050170</string>
     158     </key>
     159     <value>
     160       <string>韶关</string>
     161     </value>
     162   </SerializableDictionary>
     163   <SerializableDictionary>
     164     <key>
     165       <string>050180</string>
     166     </key>
     167     <value>
     168       <string>茂名</string>
     169     </value>
     170   </SerializableDictionary>
     171   <SerializableDictionary>
     172     <key>
     173       <string>050190</string>
     174     </key>
     175     <value>
     176       <string>梅州</string>
     177     </value>
     178   </SerializableDictionary>
     179   <SerializableDictionary>
     180     <key>
     181       <string>050200</string>
     182     </key>
     183     <value>
     184       <string>汕尾</string>
     185     </value>
     186   </SerializableDictionary>
     187   <SerializableDictionary>
     188     <key>
     189       <string>050210</string>
     190     </key>
     191     <value>
     192       <string>河源</string>
     193     </value>
     194   </SerializableDictionary>
     195   <SerializableDictionary>
     196     <key>
     197       <string>050220</string>
     198     </key>
     199     <value>
     200       <string>揭阳</string>
     201     </value>
     202   </SerializableDictionary>
     203   <SerializableDictionary>
     204     <key>
     205       <string>050230</string>
     206     </key>
     207     <value>
     208       <string>云浮</string>
     209     </value>
     210   </SerializableDictionary>
     211   <SerializableDictionary>
     212     <key>
     213       <string>050240</string>
     214     </key>
     215     <value>
     216       <string>开平</string>
     217     </value>
     218   </SerializableDictionary>
     219   <SerializableDictionary>
     220     <key>
     221       <string>050250</string>
     222     </key>
     223     <value>
     224       <string>台山</string>
     225     </value>
     226   </SerializableDictionary>
     227   <SerializableDictionary>
     228     <key>
     229       <string>050260</string>
     230     </key>
     231     <value>
     232       <string>普宁</string>
     233     </value>
     234   </SerializableDictionary>
     235   <SerializableDictionary>
     236     <key>
     237       <string>050270</string>
     238     </key>
     239     <value>
     240       <string>南沙开发区</string>
     241     </value>
     242   </SerializableDictionary>
     243   <SerializableDictionary>
     244     <key>
     245       <string>050280</string>
     246     </key>
     247     <value>
     248       <string>龙川</string>
     249     </value>
     250   </SerializableDictionary>
     251   <SerializableDictionary>
     252     <key>
     253       <string>050290</string>
     254     </key>
     255     <value>
     256       <string>鹤山</string>
     257     </value>
     258   </SerializableDictionary>
     259   <SerializableDictionary>
     260     <key>
     261       <string>060020</string>
     262     </key>
     263     <value>
     264       <string>南京</string>
     265     </value>
     266   </SerializableDictionary>
     267   <SerializableDictionary>
     268     <key>
     269       <string>060030</string>
     270     </key>
     271     <value>
     272       <string>常熟</string>
     273     </value>
     274   </SerializableDictionary>
     275   <SerializableDictionary>
     276     <key>
     277       <string>060040</string>
     278     </key>
     279     <value>
     280       <string>常州</string>
     281     </value>
     282   </SerializableDictionary>
     283   <SerializableDictionary>
     284     <key>
     285       <string>060050</string>
     286     </key>
     287     <value>
     288       <string>昆山</string>
     289     </value>
     290   </SerializableDictionary>
     291   <SerializableDictionary>
     292     <key>
     293       <string>060060</string>
     294     </key>
     295     <value>
     296       <string>连云港</string>
     297     </value>
     298   </SerializableDictionary>
     299   <SerializableDictionary>
     300     <key>
     301       <string>060070</string>
     302     </key>
     303     <value>
     304       <string>南通</string>
     305     </value>
     306   </SerializableDictionary>
     307   <SerializableDictionary>
     308     <key>
     309       <string>060080</string>
     310     </key>
     311     <value>
     312       <string>苏州</string>
     313     </value>
     314   </SerializableDictionary>
     315   <SerializableDictionary>
     316     <key>
     317       <string>060090</string>
     318     </key>
     319     <value>
     320       <string>太仓</string>
     321     </value>
     322   </SerializableDictionary>
     323   <SerializableDictionary>
     324     <key>
     325       <string>060100</string>
     326     </key>
     327     <value>
     328       <string>无锡</string>
     329     </value>
     330   </SerializableDictionary>
     331   <SerializableDictionary>
     332     <key>
     333       <string>060110</string>
     334     </key>
     335     <value>
     336       <string>徐州</string>
     337     </value>
     338   </SerializableDictionary>
     339   <SerializableDictionary>
     340     <key>
     341       <string>060120</string>
     342     </key>
     343     <value>
     344       <string>扬州</string>
     345     </value>
     346   </SerializableDictionary>
     347   <SerializableDictionary>
     348     <key>
     349       <string>060130</string>
     350     </key>
     351     <value>
     352       <string>镇江</string>
     353     </value>
     354   </SerializableDictionary>
     355   <SerializableDictionary>
     356     <key>
     357       <string>060140</string>
     358     </key>
     359     <value>
     360       <string>淮安</string>
     361     </value>
     362   </SerializableDictionary>
     363   <SerializableDictionary>
     364     <key>
     365       <string>060150</string>
     366     </key>
     367     <value>
     368       <string>盐城</string>
     369     </value>
     370   </SerializableDictionary>
     371   <SerializableDictionary>
     372     <key>
     373       <string>060160</string>
     374     </key>
     375     <value>
     376       <string>泰州</string>
     377     </value>
     378   </SerializableDictionary>
     379   <SerializableDictionary>
     380     <key>
     381       <string>060170</string>
     382     </key>
     383     <value>
     384       <string>宿迁</string>
     385     </value>
     386   </SerializableDictionary>
     387   <SerializableDictionary>
     388     <key>
     389       <string>060180</string>
     390     </key>
     391     <value>
     392       <string>张家港</string>
     393     </value>
     394   </SerializableDictionary>
     395   <SerializableDictionary>
     396     <key>
     397       <string>060190</string>
     398     </key>
     399     <value>
     400       <string>江阴</string>
     401     </value>
     402   </SerializableDictionary>
     403   <SerializableDictionary>
     404     <key>
     405       <string>060200</string>
     406     </key>
     407     <value>
     408       <string>丹阳</string>
     409     </value>
     410   </SerializableDictionary>
     411   <SerializableDictionary>
     412     <key>
     413       <string>060210</string>
     414     </key>
     415     <value>
     416       <string>溧阳</string>
     417     </value>
     418   </SerializableDictionary>
     419   <SerializableDictionary>
     420     <key>
     421       <string>060220</string>
     422     </key>
     423     <value>
     424       <string>泰兴</string>
     425     </value>
     426   </SerializableDictionary>
     427   <SerializableDictionary>
     428     <key>
     429       <string>060230</string>
     430     </key>
     431     <value>
     432       <string>宜兴</string>
     433     </value>
     434   </SerializableDictionary>
     435   <SerializableDictionary>
     436     <key>
     437       <string>060240</string>
     438     </key>
     439     <value>
     440       <string>靖江</string>
     441     </value>
     442   </SerializableDictionary>
     443   <SerializableDictionary>
     444     <key>
     445       <string>060250</string>
     446     </key>
     447     <value>
     448       <string>句容</string>
     449     </value>
     450   </SerializableDictionary>
     451   <SerializableDictionary>
     452     <key>
     453       <string>060260</string>
     454     </key>
     455     <value>
     456       <string>如皋</string>
     457     </value>
     458   </SerializableDictionary>
     459   <SerializableDictionary>
     460     <key>
     461       <string>060270</string>
     462     </key>
     463     <value>
     464       <string>扬中</string>
     465     </value>
     466   </SerializableDictionary>
     467   <SerializableDictionary>
     468     <key>
     469       <string>060280</string>
     470     </key>
     471     <value>
     472       <string>高邮</string>
     473     </value>
     474   </SerializableDictionary>
     475   <SerializableDictionary>
     476     <key>
     477       <string>060290</string>
     478     </key>
     479     <value>
     480       <string>启东</string>
     481     </value>
     482   </SerializableDictionary>
     483   <SerializableDictionary>
     484     <key>
     485       <string>060300</string>
     486     </key>
     487     <value>
     488       <string>盱眙</string>
     489     </value>
     490   </SerializableDictionary>
     491   <SerializableDictionary>
     492     <key>
     493       <string>060310</string>
     494     </key>
     495     <value>
     496       <string>通州</string>
     497     </value>
     498   </SerializableDictionary>
     499   <SerializableDictionary>
     500     <key>
     501       <string>060320</string>
     502     </key>
     503     <value>
     504       <string>金湖</string>
     505     </value>
     506   </SerializableDictionary>
     507   <SerializableDictionary>
     508     <key>
     509       <string>070020</string>
     510     </key>
     511     <value>
     512       <string>杭州</string>
     513     </value>
     514   </SerializableDictionary>
     515   <SerializableDictionary>
     516     <key>
     517       <string>070030</string>
     518     </key>
     519     <value>
     520       <string>宁波</string>
     521     </value>
     522   </SerializableDictionary>
     523   <SerializableDictionary>
     524     <key>
     525       <string>070040</string>
     526     </key>
     527     <value>
     528       <string>温州</string>
     529     </value>
     530   </SerializableDictionary>
     531   <SerializableDictionary>
     532     <key>
     533       <string>070050</string>
     534     </key>
     535     <value>
     536       <string>绍兴</string>
     537     </value>
     538   </SerializableDictionary>
     539   <SerializableDictionary>
     540     <key>
     541       <string>070060</string>
     542     </key>
     543     <value>
     544       <string>金华</string>
     545     </value>
     546   </SerializableDictionary>
     547   <SerializableDictionary>
     548     <key>
     549       <string>070070</string>
     550     </key>
     551     <value>
     552       <string>台州</string>
     553     </value>
     554   </SerializableDictionary>
     555   <SerializableDictionary>
     556     <key>
     557       <string>070080</string>
     558     </key>
     559     <value>
     560       <string>湖州</string>
     561     </value>
     562   </SerializableDictionary>
     563   <SerializableDictionary>
     564     <key>
     565       <string>070090</string>
     566     </key>
     567     <value>
     568       <string>嘉兴</string>
     569     </value>
     570   </SerializableDictionary>
     571   <SerializableDictionary>
     572     <key>
     573       <string>070100</string>
     574     </key>
     575     <value>
     576       <string>衢州</string>
     577     </value>
     578   </SerializableDictionary>
     579   <SerializableDictionary>
     580     <key>
     581       <string>070110</string>
     582     </key>
     583     <value>
     584       <string>丽水</string>
     585     </value>
     586   </SerializableDictionary>
     587   <SerializableDictionary>
     588     <key>
     589       <string>070120</string>
     590     </key>
     591     <value>
     592       <string>舟山</string>
     593     </value>
     594   </SerializableDictionary>
     595   <SerializableDictionary>
     596     <key>
     597       <string>070130</string>
     598     </key>
     599     <value>
     600       <string>义乌</string>
     601     </value>
     602   </SerializableDictionary>
     603   <SerializableDictionary>
     604     <key>
     605       <string>070140</string>
     606     </key>
     607     <value>
     608       <string>海宁</string>
     609     </value>
     610   </SerializableDictionary>
     611   <SerializableDictionary>
     612     <key>
     613       <string>070150</string>
     614     </key>
     615     <value>
     616       <string>玉环县</string>
     617     </value>
     618   </SerializableDictionary>
     619   <SerializableDictionary>
     620     <key>
     621       <string>070160</string>
     622     </key>
     623     <value>
     624       <string>平湖</string>
     625     </value>
     626   </SerializableDictionary>
     627   <SerializableDictionary>
     628     <key>
     629       <string>070170</string>
     630     </key>
     631     <value>
     632       <string>永康</string>
     633     </value>
     634   </SerializableDictionary>
     635   <SerializableDictionary>
     636     <key>
     637       <string>070180</string>
     638     </key>
     639     <value>
     640       <string>东阳</string>
     641     </value>
     642   </SerializableDictionary>
     643   <SerializableDictionary>
     644     <key>
     645       <string>070190</string>
     646     </key>
     647     <value>
     648       <string>嘉善</string>
     649     </value>
     650   </SerializableDictionary>
     651   <SerializableDictionary>
     652     <key>
     653       <string>070200</string>
     654     </key>
     655     <value>
     656       <string>余姚</string>
     657     </value>
     658   </SerializableDictionary>
     659   <SerializableDictionary>
     660     <key>
     661       <string>070210</string>
     662     </key>
     663     <value>
     664       <string>慈溪</string>
     665     </value>
     666   </SerializableDictionary>
     667   <SerializableDictionary>
     668     <key>
     669       <string>070220</string>
     670     </key>
     671     <value>
     672       <string>乐清</string>
     673     </value>
     674   </SerializableDictionary>
     675   <SerializableDictionary>
     676     <key>
     677       <string>070230</string>
     678     </key>
     679     <value>
     680       <string>永嘉</string>
     681     </value>
     682   </SerializableDictionary>
     683   <SerializableDictionary>
     684     <key>
     685       <string>070240</string>
     686     </key>
     687     <value>
     688       <string>桐乡</string>
     689     </value>
     690   </SerializableDictionary>
     691   <SerializableDictionary>
     692     <key>
     693       <string>070250</string>
     694     </key>
     695     <value>
     696       <string>瑞安</string>
     697     </value>
     698   </SerializableDictionary>
     699   <SerializableDictionary>
     700     <key>
     701       <string>070260</string>
     702     </key>
     703     <value>
     704       <string>温岭</string>
     705     </value>
     706   </SerializableDictionary>
     707   <SerializableDictionary>
     708     <key>
     709       <string>070270</string>
     710     </key>
     711     <value>
     712       <string>上虞</string>
     713     </value>
     714   </SerializableDictionary>
     715   <SerializableDictionary>
     716     <key>
     717       <string>070280</string>
     718     </key>
     719     <value>
     720       <string>诸暨</string>
     721     </value>
     722   </SerializableDictionary>
     723   <SerializableDictionary>
     724     <key>
     725       <string>070290</string>
     726     </key>
     727     <value>
     728       <string>宁海</string>
     729     </value>
     730   </SerializableDictionary>
     731   <SerializableDictionary>
     732     <key>
     733       <string>070300</string>
     734     </key>
     735     <value>
     736       <string>三门</string>
     737     </value>
     738   </SerializableDictionary>
     739   <SerializableDictionary>
     740     <key>
     741       <string>070310</string>
     742     </key>
     743     <value>
     744       <string>德清</string>
     745     </value>
     746   </SerializableDictionary>
     747   <SerializableDictionary>
     748     <key>
     749       <string>070320</string>
     750     </key>
     751     <value>
     752       <string>象山</string>
     753     </value>
     754   </SerializableDictionary>
     755   <SerializableDictionary>
     756     <key>
     757       <string>070330</string>
     758     </key>
     759     <value>
     760       <string>方家山</string>
     761     </value>
     762   </SerializableDictionary>
     763   <SerializableDictionary>
     764     <key>
     765       <string>070340</string>
     766     </key>
     767     <value>
     768       <string>龙泉</string>
     769     </value>
     770   </SerializableDictionary>
     771   <SerializableDictionary>
     772     <key>
     773       <string>080020</string>
     774     </key>
     775     <value>
     776       <string>合肥</string>
     777     </value>
     778   </SerializableDictionary>
     779   <SerializableDictionary>
     780     <key>
     781       <string>080030</string>
     782     </key>
     783     <value>
     784       <string>安庆</string>
     785     </value>
     786   </SerializableDictionary>
     787   <SerializableDictionary>
     788     <key>
     789       <string>080040</string>
     790     </key>
     791     <value>
     792       <string>蚌埠</string>
     793     </value>
     794   </SerializableDictionary>
     795   <SerializableDictionary>
     796     <key>
     797       <string>080050</string>
     798     </key>
     799     <value>
     800       <string>芜湖</string>
     801     </value>
     802   </SerializableDictionary>
     803   <SerializableDictionary>
     804     <key>
     805       <string>080060</string>
     806     </key>
     807     <value>
     808       <string>淮南</string>
     809     </value>
     810   </SerializableDictionary>
     811   <SerializableDictionary>
     812     <key>
     813       <string>080070</string>
     814     </key>
     815     <value>
     816       <string>马鞍山</string>
     817     </value>
     818   </SerializableDictionary>
     819   <SerializableDictionary>
     820     <key>
     821       <string>080080</string>
     822     </key>
     823     <value>
     824       <string>淮北</string>
     825     </value>
     826   </SerializableDictionary>
     827   <SerializableDictionary>
     828     <key>
     829       <string>080090</string>
     830     </key>
     831     <value>
     832       <string>铜陵</string>
     833     </value>
     834   </SerializableDictionary>
     835   <SerializableDictionary>
     836     <key>
     837       <string>080100</string>
     838     </key>
     839     <value>
     840       <string>黄山</string>
     841     </value>
     842   </SerializableDictionary>
     843   <SerializableDictionary>
     844     <key>
     845       <string>080110</string>
     846     </key>
     847     <value>
     848       <string>滁州</string>
     849     </value>
     850   </SerializableDictionary>
     851   <SerializableDictionary>
     852     <key>
     853       <string>080120</string>
     854     </key>
     855     <value>
     856       <string>阜阳</string>
     857     </value>
     858   </SerializableDictionary>
     859   <SerializableDictionary>
     860     <key>
     861       <string>080130</string>
     862     </key>
     863     <value>
     864       <string>宿州</string>
     865     </value>
     866   </SerializableDictionary>
     867   <SerializableDictionary>
     868     <key>
     869       <string>080140</string>
     870     </key>
     871     <value>
     872       <string>六安</string>
     873     </value>
     874   </SerializableDictionary>
     875   <SerializableDictionary>
     876     <key>
     877       <string>080150</string>
     878     </key>
     879     <value>
     880       <string>亳州</string>
     881     </value>
     882   </SerializableDictionary>
     883   <SerializableDictionary>
     884     <key>
     885       <string>080160</string>
     886     </key>
     887     <value>
     888       <string>池州</string>
     889     </value>
     890   </SerializableDictionary>
     891   <SerializableDictionary>
     892     <key>
     893       <string>080170</string>
     894     </key>
     895     <value>
     896       <string>宣城</string>
     897     </value>
     898   </SerializableDictionary>
     899   <SerializableDictionary>
     900     <key>
     901       <string>080180</string>
     902     </key>
     903     <value>
     904       <string>巢湖</string>
     905     </value>
     906   </SerializableDictionary>
     907   <SerializableDictionary>
     908     <key>
     909       <string>080190</string>
     910     </key>
     911     <value>
     912       <string>凤阳</string>
     913     </value>
     914   </SerializableDictionary>
     915   <SerializableDictionary>
     916     <key>
     917       <string>080200</string>
     918     </key>
     919     <value>
     920       <string>广德</string>
     921     </value>
     922   </SerializableDictionary>
     923   <SerializableDictionary>
     924     <key>
     925       <string>080210</string>
     926     </key>
     927     <value>
     928       <string>宿松</string>
     929     </value>
     930   </SerializableDictionary>
     931   <SerializableDictionary>
     932     <key>
     933       <string>090020</string>
     934     </key>
     935     <value>
     936       <string>福州</string>
     937     </value>
     938   </SerializableDictionary>
     939   <SerializableDictionary>
     940     <key>
     941       <string>090030</string>
     942     </key>
     943     <value>
     944       <string>泉州</string>
     945     </value>
     946   </SerializableDictionary>
     947   <SerializableDictionary>
     948     <key>
     949       <string>090040</string>
     950     </key>
     951     <value>
     952       <string>厦门</string>
     953     </value>
     954   </SerializableDictionary>
     955   <SerializableDictionary>
     956     <key>
     957       <string>090050</string>
     958     </key>
     959     <value>
     960       <string>漳州</string>
     961     </value>
     962   </SerializableDictionary>
     963   <SerializableDictionary>
     964     <key>
     965       <string>090060</string>
     966     </key>
     967     <value>
     968       <string>莆田</string>
     969     </value>
     970   </SerializableDictionary>
     971   <SerializableDictionary>
     972     <key>
     973       <string>090070</string>
     974     </key>
     975     <value>
     976       <string>三明</string>
     977     </value>
     978   </SerializableDictionary>
     979   <SerializableDictionary>
     980     <key>
     981       <string>090080</string>
     982     </key>
     983     <value>
     984       <string>南平</string>
     985     </value>
     986   </SerializableDictionary>
     987   <SerializableDictionary>
     988     <key>
     989       <string>090090</string>
     990     </key>
     991     <value>
     992       <string>龙岩</string>
     993     </value>
     994   </SerializableDictionary>
     995   <SerializableDictionary>
     996     <key>
     997       <string>090100</string>
     998     </key>
     999     <value>
    1000       <string>宁德</string>
    1001     </value>
    1002   </SerializableDictionary>
    1003   <SerializableDictionary>
    1004     <key>
    1005       <string>090110</string>
    1006     </key>
    1007     <value>
    1008       <string>泉港区</string>
    1009     </value>
    1010   </SerializableDictionary>
    1011   <SerializableDictionary>
    1012     <key>
    1013       <string>090120</string>
    1014     </key>
    1015     <value>
    1016       <string>福安</string>
    1017     </value>
    1018   </SerializableDictionary>
    1019   <SerializableDictionary>
    1020     <key>
    1021       <string>090130</string>
    1022     </key>
    1023     <value>
    1024       <string>晋江</string>
    1025     </value>
    1026   </SerializableDictionary>
    1027   <SerializableDictionary>
    1028     <key>
    1029       <string>100020</string>
    1030     </key>
    1031     <value>
    1032       <string>兰州</string>
    1033     </value>
    1034   </SerializableDictionary>
    1035   <SerializableDictionary>
    1036     <key>
    1037       <string>100030</string>
    1038     </key>
    1039     <value>
    1040       <string>嘉峪关</string>
    1041     </value>
    1042   </SerializableDictionary>
    1043   <SerializableDictionary>
    1044     <key>
    1045       <string>100040</string>
    1046     </key>
    1047     <value>
    1048       <string>酒泉</string>
    1049     </value>
    1050   </SerializableDictionary>
    1051   <SerializableDictionary>
    1052     <key>
    1053       <string>100050</string>
    1054     </key>
    1055     <value>
    1056       <string>金昌</string>
    1057     </value>
    1058   </SerializableDictionary>
    1059   <SerializableDictionary>
    1060     <key>
    1061       <string>100060</string>
    1062     </key>
    1063     <value>
    1064       <string>白银</string>
    1065     </value>
    1066   </SerializableDictionary>
    1067   <SerializableDictionary>
    1068     <key>
    1069       <string>100070</string>
    1070     </key>
    1071     <value>
    1072       <string>天水</string>
    1073     </value>
    1074   </SerializableDictionary>
    1075   <SerializableDictionary>
    1076     <key>
    1077       <string>100080</string>
    1078     </key>
    1079     <value>
    1080       <string>张掖</string>
    1081     </value>
    1082   </SerializableDictionary>
    1083   <SerializableDictionary>
    1084     <key>
    1085       <string>100090</string>
    1086     </key>
    1087     <value>
    1088       <string>武威</string>
    1089     </value>
    1090   </SerializableDictionary>
    1091   <SerializableDictionary>
    1092     <key>
    1093       <string>100100</string>
    1094     </key>
    1095     <value>
    1096       <string>定西</string>
    1097     </value>
    1098   </SerializableDictionary>
    1099   <SerializableDictionary>
    1100     <key>
    1101       <string>100110</string>
    1102     </key>
    1103     <value>
    1104       <string>陇南</string>
    1105     </value>
    1106   </SerializableDictionary>
    1107   <SerializableDictionary>
    1108     <key>
    1109       <string>100120</string>
    1110     </key>
    1111     <value>
    1112       <string>平凉</string>
    1113     </value>
    1114   </SerializableDictionary>
    1115   <SerializableDictionary>
    1116     <key>
    1117       <string>100130</string>
    1118     </key>
    1119     <value>
    1120       <string>庆阳</string>
    1121     </value>
    1122   </SerializableDictionary>
    1123   <SerializableDictionary>
    1124     <key>
    1125       <string>100140</string>
    1126     </key>
    1127     <value>
    1128       <string>临夏回族自治州</string>
    1129     </value>
    1130   </SerializableDictionary>
    1131   <SerializableDictionary>
    1132     <key>
    1133       <string>100150</string>
    1134     </key>
    1135     <value>
    1136       <string>甘南藏族自治州</string>
    1137     </value>
    1138   </SerializableDictionary>
    1139   <SerializableDictionary>
    1140     <key>
    1141       <string>110020</string>
    1142     </key>
    1143     <value>
    1144       <string>南宁</string>
    1145     </value>
    1146   </SerializableDictionary>
    1147   <SerializableDictionary>
    1148     <key>
    1149       <string>110030</string>
    1150     </key>
    1151     <value>
    1152       <string>北海</string>
    1153     </value>
    1154   </SerializableDictionary>
    1155   <SerializableDictionary>
    1156     <key>
    1157       <string>110040</string>
    1158     </key>
    1159     <value>
    1160       <string>桂林</string>
    1161     </value>
    1162   </SerializableDictionary>
    1163   <SerializableDictionary>
    1164     <key>
    1165       <string>110050</string>
    1166     </key>
    1167     <value>
    1168       <string>柳州</string>
    1169     </value>
    1170   </SerializableDictionary>
    1171   <SerializableDictionary>
    1172     <key>
    1173       <string>110060</string>
    1174     </key>
    1175     <value>
    1176       <string>玉林</string>
    1177     </value>
    1178   </SerializableDictionary>
    1179   <SerializableDictionary>
    1180     <key>
    1181       <string>110070</string>
    1182     </key>
    1183     <value>
    1184       <string>梧州</string>
    1185     </value>
    1186   </SerializableDictionary>
    1187   <SerializableDictionary>
    1188     <key>
    1189       <string>110080</string>
    1190     </key>
    1191     <value>
    1192       <string>崇左</string>
    1193     </value>
    1194   </SerializableDictionary>
    1195   <SerializableDictionary>
    1196     <key>
    1197       <string>110090</string>
    1198     </key>
    1199     <value>
    1200       <string>来宾</string>
    1201     </value>
    1202   </SerializableDictionary>
    1203   <SerializableDictionary>
    1204     <key>
    1205       <string>110100</string>
    1206     </key>
    1207     <value>
    1208       <string>防城港</string>
    1209     </value>
    1210   </SerializableDictionary>
    1211   <SerializableDictionary>
    1212     <key>
    1213       <string>110110</string>
    1214     </key>
    1215     <value>
    1216       <string>百色</string>
    1217     </value>
    1218   </SerializableDictionary>
    1219   <SerializableDictionary>
    1220     <key>
    1221       <string>110120</string>
    1222     </key>
    1223     <value>
    1224       <string>钦州</string>
    1225     </value>
    1226   </SerializableDictionary>
    1227   <SerializableDictionary>
    1228     <key>
    1229       <string>110130</string>
    1230     </key>
    1231     <value>
    1232       <string>贺州</string>
    1233     </value>
    1234   </SerializableDictionary>
    1235   <SerializableDictionary>
    1236     <key>
    1237       <string>110140</string>
    1238     </key>
    1239     <value>
    1240       <string>河池</string>
    1241     </value>
    1242   </SerializableDictionary>
    1243   <SerializableDictionary>
    1244     <key>
    1245       <string>110150</string>
    1246     </key>
    1247     <value>
    1248       <string>贵港</string>
    1249     </value>
    1250   </SerializableDictionary>
    1251   <SerializableDictionary>
    1252     <key>
    1253       <string>120020</string>
    1254     </key>
    1255     <value>
    1256       <string>贵阳</string>
    1257     </value>
    1258   </SerializableDictionary>
    1259   <SerializableDictionary>
    1260     <key>
    1261       <string>120030</string>
    1262     </key>
    1263     <value>
    1264       <string>遵义</string>
    1265     </value>
    1266   </SerializableDictionary>
    1267   <SerializableDictionary>
    1268     <key>
    1269       <string>120040</string>
    1270     </key>
    1271     <value>
    1272       <string>六盘水</string>
    1273     </value>
    1274   </SerializableDictionary>
    1275   <SerializableDictionary>
    1276     <key>
    1277       <string>120050</string>
    1278     </key>
    1279     <value>
    1280       <string>安顺</string>
    1281     </value>
    1282   </SerializableDictionary>
    1283   <SerializableDictionary>
    1284     <key>
    1285       <string>120060</string>
    1286     </key>
    1287     <value>
    1288       <string>毕节</string>
    1289     </value>
    1290   </SerializableDictionary>
    1291   <SerializableDictionary>
    1292     <key>
    1293       <string>120070</string>
    1294     </key>
    1295     <value>
    1296       <string>铜仁</string>
    1297     </value>
    1298   </SerializableDictionary>
    1299   <SerializableDictionary>
    1300     <key>
    1301       <string>120080</string>
    1302     </key>
    1303     <value>
    1304       <string>黔西南布依苗族自治州</string>
    1305     </value>
    1306   </SerializableDictionary>
    1307   <SerializableDictionary>
    1308     <key>
    1309       <string>120090</string>
    1310     </key>
    1311     <value>
    1312       <string>黔东南苗族侗族自治州</string>
    1313     </value>
    1314   </SerializableDictionary>
    1315   <SerializableDictionary>
    1316     <key>
    1317       <string>120100</string>
    1318     </key>
    1319     <value>
    1320       <string>黔南布依苗族自治州</string>
    1321     </value>
    1322   </SerializableDictionary>
    1323   <SerializableDictionary>
    1324     <key>
    1325       <string>130020</string>
    1326     </key>
    1327     <value>
    1328       <string>海口</string>
    1329     </value>
    1330   </SerializableDictionary>
    1331   <SerializableDictionary>
    1332     <key>
    1333       <string>130030</string>
    1334     </key>
    1335     <value>
    1336       <string>三亚</string>
    1337     </value>
    1338   </SerializableDictionary>
    1339   <SerializableDictionary>
    1340     <key>
    1341       <string>130040</string>
    1342     </key>
    1343     <value>
    1344       <string>三沙</string>
    1345     </value>
    1346   </SerializableDictionary>
    1347   <SerializableDictionary>
    1348     <key>
    1349       <string>130060</string>
    1350     </key>
    1351     <value>
    1352       <string>文昌</string>
    1353     </value>
    1354   </SerializableDictionary>
    1355   <SerializableDictionary>
    1356     <key>
    1357       <string>130070</string>
    1358     </key>
    1359     <value>
    1360       <string>琼海</string>
    1361     </value>
    1362   </SerializableDictionary>
    1363   <SerializableDictionary>
    1364     <key>
    1365       <string>130080</string>
    1366     </key>
    1367     <value>
    1368       <string>万宁</string>
    1369     </value>
    1370   </SerializableDictionary>
    1371   <SerializableDictionary>
    1372     <key>
    1373       <string>130090</string>
    1374     </key>
    1375     <value>
    1376       <string>儋州</string>
    1377     </value>
    1378   </SerializableDictionary>
    1379   <SerializableDictionary>
    1380     <key>
    1381       <string>130100</string>
    1382     </key>
    1383     <value>
    1384       <string>东方</string>
    1385     </value>
    1386   </SerializableDictionary>
    1387   <SerializableDictionary>
    1388     <key>
    1389       <string>130110</string>
    1390     </key>
    1391     <value>
    1392       <string>五指山</string>
    1393     </value>
    1394   </SerializableDictionary>
    1395   <SerializableDictionary>
    1396     <key>
    1397       <string>130120</string>
    1398     </key>
    1399     <value>
    1400       <string>定安</string>
    1401     </value>
    1402   </SerializableDictionary>
    1403   <SerializableDictionary>
    1404     <key>
    1405       <string>130130</string>
    1406     </key>
    1407     <value>
    1408       <string>屯昌</string>
    1409     </value>
    1410   </SerializableDictionary>
    1411   <SerializableDictionary>
    1412     <key>
    1413       <string>130140</string>
    1414     </key>
    1415     <value>
    1416       <string>澄迈</string>
    1417     </value>
    1418   </SerializableDictionary>
    1419   <SerializableDictionary>
    1420     <key>
    1421       <string>130150</string>
    1422     </key>
    1423     <value>
    1424       <string>临高</string>
    1425     </value>
    1426   </SerializableDictionary>
    1427   <SerializableDictionary>
    1428     <key>
    1429       <string>130160</string>
    1430     </key>
    1431     <value>
    1432       <string>琼中黎族苗族自治县</string>
    1433     </value>
    1434   </SerializableDictionary>
    1435   <SerializableDictionary>
    1436     <key>
    1437       <string>130170</string>
    1438     </key>
    1439     <value>
    1440       <string>保亭黎族苗族自治县</string>
    1441     </value>
    1442   </SerializableDictionary>
    1443   <SerializableDictionary>
    1444     <key>
    1445       <string>130180</string>
    1446     </key>
    1447     <value>
    1448       <string>白沙黎族自治县</string>
    1449     </value>
    1450   </SerializableDictionary>
    1451   <SerializableDictionary>
    1452     <key>
    1453       <string>130190</string>
    1454     </key>
    1455     <value>
    1456       <string>昌江黎族自治县</string>
    1457     </value>
    1458   </SerializableDictionary>
    1459   <SerializableDictionary>
    1460     <key>
    1461       <string>130200</string>
    1462     </key>
    1463     <value>
    1464       <string>乐东黎族自治县</string>
    1465     </value>
    1466   </SerializableDictionary>
    1467   <SerializableDictionary>
    1468     <key>
    1469       <string>130210</string>
    1470     </key>
    1471     <value>
    1472       <string>陵水黎族自治县</string>
    1473     </value>
    1474   </SerializableDictionary>
    1475   <SerializableDictionary>
    1476     <key>
    1477       <string>140020</string>
    1478     </key>
    1479     <value>
    1480       <string>石家庄</string>
    1481     </value>
    1482   </SerializableDictionary>
    1483   <SerializableDictionary>
    1484     <key>
    1485       <string>140030</string>
    1486     </key>
    1487     <value>
    1488       <string>保定</string>
    1489     </value>
    1490   </SerializableDictionary>
    1491   <SerializableDictionary>
    1492     <key>
    1493       <string>140040</string>
    1494     </key>
    1495     <value>
    1496       <string>承德</string>
    1497     </value>
    1498   </SerializableDictionary>
    1499   <SerializableDictionary>
    1500     <key>
    1501       <string>140050</string>
    1502     </key>
    1503     <value>
    1504       <string>邯郸</string>
    1505     </value>
    1506   </SerializableDictionary>
    1507   <SerializableDictionary>
    1508     <key>
    1509       <string>140060</string>
    1510     </key>
    1511     <value>
    1512       <string>廊坊</string>
    1513     </value>
    1514   </SerializableDictionary>
    1515   <SerializableDictionary>
    1516     <key>
    1517       <string>140070</string>
    1518     </key>
    1519     <value>
    1520       <string>秦皇岛</string>
    1521     </value>
    1522   </SerializableDictionary>
    1523   <SerializableDictionary>
    1524     <key>
    1525       <string>140080</string>
    1526     </key>
    1527     <value>
    1528       <string>唐山</string>
    1529     </value>
    1530   </SerializableDictionary>
    1531   <SerializableDictionary>
    1532     <key>
    1533       <string>140090</string>
    1534     </key>
    1535     <value>
    1536       <string>张家口</string>
    1537     </value>
    1538   </SerializableDictionary>
    1539   <SerializableDictionary>
    1540     <key>
    1541       <string>140100</string>
    1542     </key>
    1543     <value>
    1544       <string>邢台</string>
    1545     </value>
    1546   </SerializableDictionary>
    1547   <SerializableDictionary>
    1548     <key>
    1549       <string>140110</string>
    1550     </key>
    1551     <value>
    1552       <string>沧州</string>
    1553     </value>
    1554   </SerializableDictionary>
    1555   <SerializableDictionary>
    1556     <key>
    1557       <string>140120</string>
    1558     </key>
    1559     <value>
    1560       <string>衡水</string>
    1561     </value>
    1562   </SerializableDictionary>
    1563   <SerializableDictionary>
    1564     <key>
    1565       <string>140130</string>
    1566     </key>
    1567     <value>
    1568       <string>燕郊开发区</string>
    1569     </value>
    1570   </SerializableDictionary>
    1571   <SerializableDictionary>
    1572     <key>
    1573       <string>140140</string>
    1574     </key>
    1575     <value>
    1576       <string>固安</string>
    1577     </value>
    1578   </SerializableDictionary>
    1579   <SerializableDictionary>
    1580     <key>
    1581       <string>140150</string>
    1582     </key>
    1583     <value>
    1584       <string>遵化</string>
    1585     </value>
    1586   </SerializableDictionary>
    1587   <SerializableDictionary>
    1588     <key>
    1589       <string>140160</string>
    1590     </key>
    1591     <value>
    1592       <string>香河</string>
    1593     </value>
    1594   </SerializableDictionary>
    1595   <SerializableDictionary>
    1596     <key>
    1597       <string>140170</string>
    1598     </key>
    1599     <value>
    1600       <string>三河</string>
    1601     </value>
    1602   </SerializableDictionary>
    1603   <SerializableDictionary>
    1604     <key>
    1605       <string>150020</string>
    1606     </key>
    1607     <value>
    1608       <string>郑州</string>
    1609     </value>
    1610   </SerializableDictionary>
    1611   <SerializableDictionary>
    1612     <key>
    1613       <string>150030</string>
    1614     </key>
    1615     <value>
    1616       <string>开封</string>
    1617     </value>
    1618   </SerializableDictionary>
    1619   <SerializableDictionary>
    1620     <key>
    1621       <string>150040</string>
    1622     </key>
    1623     <value>
    1624       <string>洛阳</string>
    1625     </value>
    1626   </SerializableDictionary>
    1627   <SerializableDictionary>
    1628     <key>
    1629       <string>150050</string>
    1630     </key>
    1631     <value>
    1632       <string>商丘</string>
    1633     </value>
    1634   </SerializableDictionary>
    1635   <SerializableDictionary>
    1636     <key>
    1637       <string>150060</string>
    1638     </key>
    1639     <value>
    1640       <string>安阳</string>
    1641     </value>
    1642   </SerializableDictionary>
    1643   <SerializableDictionary>
    1644     <key>
    1645       <string>150070</string>
    1646     </key>
    1647     <value>
    1648       <string>平顶山</string>
    1649     </value>
    1650   </SerializableDictionary>
    1651   <SerializableDictionary>
    1652     <key>
    1653       <string>150080</string>
    1654     </key>
    1655     <value>
    1656       <string>新乡</string>
    1657     </value>
    1658   </SerializableDictionary>
    1659   <SerializableDictionary>
    1660     <key>
    1661       <string>150090</string>
    1662     </key>
    1663     <value>
    1664       <string>焦作</string>
    1665     </value>
    1666   </SerializableDictionary>
    1667   <SerializableDictionary>
    1668     <key>
    1669       <string>150100</string>
    1670     </key>
    1671     <value>
    1672       <string>濮阳</string>
    1673     </value>
    1674   </SerializableDictionary>
    1675   <SerializableDictionary>
    1676     <key>
    1677       <string>150110</string>
    1678     </key>
    1679     <value>
    1680       <string>许昌</string>
    1681     </value>
    1682   </SerializableDictionary>
    1683   <SerializableDictionary>
    1684     <key>
    1685       <string>150120</string>
    1686     </key>
    1687     <value>
    1688       <string>漯河</string>
    1689     </value>
    1690   </SerializableDictionary>
    1691   <SerializableDictionary>
    1692     <key>
    1693       <string>150130</string>
    1694     </key>
    1695     <value>
    1696       <string>三门峡</string>
    1697     </value>
    1698   </SerializableDictionary>
    1699   <SerializableDictionary>
    1700     <key>
    1701       <string>150140</string>
    1702     </key>
    1703     <value>
    1704       <string>鹤壁</string>
    1705     </value>
    1706   </SerializableDictionary>
    1707   <SerializableDictionary>
    1708     <key>
    1709       <string>150150</string>
    1710     </key>
    1711     <value>
    1712       <string>周口</string>
    1713     </value>
    1714   </SerializableDictionary>
    1715   <SerializableDictionary>
    1716     <key>
    1717       <string>150160</string>
    1718     </key>
    1719     <value>
    1720       <string>驻马店</string>
    1721     </value>
    1722   </SerializableDictionary>
    1723   <SerializableDictionary>
    1724     <key>
    1725       <string>150170</string>
    1726     </key>
    1727     <value>
    1728       <string>南阳</string>
    1729     </value>
    1730   </SerializableDictionary>
    1731   <SerializableDictionary>
    1732     <key>
    1733       <string>150180</string>
    1734     </key>
    1735     <value>
    1736       <string>信阳</string>
    1737     </value>
    1738   </SerializableDictionary>
    1739   <SerializableDictionary>
    1740     <key>
    1741       <string>150190</string>
    1742     </key>
    1743     <value>
    1744       <string>济源</string>
    1745     </value>
    1746   </SerializableDictionary>
    1747   <SerializableDictionary>
    1748     <key>
    1749       <string>150200</string>
    1750     </key>
    1751     <value>
    1752       <string>西平</string>
    1753     </value>
    1754   </SerializableDictionary>
    1755   <SerializableDictionary>
    1756     <key>
    1757       <string>150210</string>
    1758     </key>
    1759     <value>
    1760       <string>长葛</string>
    1761     </value>
    1762   </SerializableDictionary>
    1763   <SerializableDictionary>
    1764     <key>
    1765       <string>160020</string>
    1766     </key>
    1767     <value>
    1768       <string>哈尔滨</string>
    1769     </value>
    1770   </SerializableDictionary>
    1771   <SerializableDictionary>
    1772     <key>
    1773       <string>160030</string>
    1774     </key>
    1775     <value>
    1776       <string>大庆</string>
    1777     </value>
    1778   </SerializableDictionary>
    1779   <SerializableDictionary>
    1780     <key>
    1781       <string>160040</string>
    1782     </key>
    1783     <value>
    1784       <string>佳木斯</string>
    1785     </value>
    1786   </SerializableDictionary>
    1787   <SerializableDictionary>
    1788     <key>
    1789       <string>160050</string>
    1790     </key>
    1791     <value>
    1792       <string>牡丹江</string>
    1793     </value>
    1794   </SerializableDictionary>
    1795   <SerializableDictionary>
    1796     <key>
    1797       <string>160060</string>
    1798     </key>
    1799     <value>
    1800       <string>齐齐哈尔</string>
    1801     </value>
    1802   </SerializableDictionary>
    1803   <SerializableDictionary>
    1804     <key>
    1805       <string>160070</string>
    1806     </key>
    1807     <value>
    1808       <string>鸡西</string>
    1809     </value>
    1810   </SerializableDictionary>
    1811   <SerializableDictionary>
    1812     <key>
    1813       <string>160080</string>
    1814     </key>
    1815     <value>
    1816       <string>鹤岗</string>
    1817     </value>
    1818   </SerializableDictionary>
    1819   <SerializableDictionary>
    1820     <key>
    1821       <string>160090</string>
    1822     </key>
    1823     <value>
    1824       <string>双鸭山</string>
    1825     </value>
    1826   </SerializableDictionary>
    1827   <SerializableDictionary>
    1828     <key>
    1829       <string>160100</string>
    1830     </key>
    1831     <value>
    1832       <string>伊春</string>
    1833     </value>
    1834   </SerializableDictionary>
    1835   <SerializableDictionary>
    1836     <key>
    1837       <string>160110</string>
    1838     </key>
    1839     <value>
    1840       <string>七台河</string>
    1841     </value>
    1842   </SerializableDictionary>
    1843   <SerializableDictionary>
    1844     <key>
    1845       <string>160120</string>
    1846     </key>
    1847     <value>
    1848       <string>黑河</string>
    1849     </value>
    1850   </SerializableDictionary>
    1851   <SerializableDictionary>
    1852     <key>
    1853       <string>160130</string>
    1854     </key>
    1855     <value>
    1856       <string>绥化</string>
    1857     </value>
    1858   </SerializableDictionary>
    1859   <SerializableDictionary>
    1860     <key>
    1861       <string>160140</string>
    1862     </key>
    1863     <value>
    1864       <string>大兴安岭</string>
    1865     </value>
    1866   </SerializableDictionary>
    1867   <SerializableDictionary>
    1868     <key>
    1869       <string>160150</string>
    1870     </key>
    1871     <value>
    1872       <string>安达</string>
    1873     </value>
    1874   </SerializableDictionary>
    1875   <SerializableDictionary>
    1876     <key>
    1877       <string>160160</string>
    1878     </key>
    1879     <value>
    1880       <string>双城</string>
    1881     </value>
    1882   </SerializableDictionary>
    1883   <SerializableDictionary>
    1884     <key>
    1885       <string>160170</string>
    1886     </key>
    1887     <value>
    1888       <string>尚志</string>
    1889     </value>
    1890   </SerializableDictionary>
    1891   <SerializableDictionary>
    1892     <key>
    1893       <string>160180</string>
    1894     </key>
    1895     <value>
    1896       <string>绥芬河</string>
    1897     </value>
    1898   </SerializableDictionary>
    1899   <SerializableDictionary>
    1900     <key>
    1901       <string>160190</string>
    1902     </key>
    1903     <value>
    1904       <string>肇东</string>
    1905     </value>
    1906   </SerializableDictionary>
    1907   <SerializableDictionary>
    1908     <key>
    1909       <string>170020</string>
    1910     </key>
    1911     <value>
    1912       <string>武汉</string>
    1913     </value>
    1914   </SerializableDictionary>
    1915   <SerializableDictionary>
    1916     <key>
    1917       <string>170030</string>
    1918     </key>
    1919     <value>
    1920       <string>十堰</string>
    1921     </value>
    1922   </SerializableDictionary>
    1923   <SerializableDictionary>
    1924     <key>
    1925       <string>170040</string>
    1926     </key>
    1927     <value>
    1928       <string>襄阳</string>
    1929     </value>
    1930   </SerializableDictionary>
    1931   <SerializableDictionary>
    1932     <key>
    1933       <string>170050</string>
    1934     </key>
    1935     <value>
    1936       <string>宜昌</string>
    1937     </value>
    1938   </SerializableDictionary>
    1939   <SerializableDictionary>
    1940     <key>
    1941       <string>170060</string>
    1942     </key>
    1943     <value>
    1944       <string>潜江</string>
    1945     </value>
    1946   </SerializableDictionary>
    1947   <SerializableDictionary>
    1948     <key>
    1949       <string>170070</string>
    1950     </key>
    1951     <value>
    1952       <string>荆门</string>
    1953     </value>
    1954   </SerializableDictionary>
    1955   <SerializableDictionary>
    1956     <key>
    1957       <string>170080</string>
    1958     </key>
    1959     <value>
    1960       <string>荆州</string>
    1961     </value>
    1962   </SerializableDictionary>
    1963   <SerializableDictionary>
    1964     <key>
    1965       <string>170090</string>
    1966     </key>
    1967     <value>
    1968       <string>黄石</string>
    1969     </value>
    1970   </SerializableDictionary>
    1971   <SerializableDictionary>
    1972     <key>
    1973       <string>170100</string>
    1974     </key>
    1975     <value>
    1976       <string>鄂州</string>
    1977     </value>
    1978   </SerializableDictionary>
    1979   <SerializableDictionary>
    1980     <key>
    1981       <string>170110</string>
    1982     </key>
    1983     <value>
    1984       <string>黄冈</string>
    1985     </value>
    1986   </SerializableDictionary>
    1987   <SerializableDictionary>
    1988     <key>
    1989       <string>170120</string>
    1990     </key>
    1991     <value>
    1992       <string>孝感</string>
    1993     </value>
    1994   </SerializableDictionary>
    1995   <SerializableDictionary>
    1996     <key>
    1997       <string>170130</string>
    1998     </key>
    1999     <value>
    2000       <string>咸宁</string>
    2001     </value>
    2002   </SerializableDictionary>
    2003   <SerializableDictionary>
    2004     <key>
    2005       <string>170140</string>
    2006     </key>
    2007     <value>
    2008       <string>随州</string>
    2009     </value>
    2010   </SerializableDictionary>
    2011   <SerializableDictionary>
    2012     <key>
    2013       <string>170150</string>
    2014     </key>
    2015     <value>
    2016       <string>仙桃</string>
    2017     </value>
    2018   </SerializableDictionary>
    2019   <SerializableDictionary>
    2020     <key>
    2021       <string>170160</string>
    2022     </key>
    2023     <value>
    2024       <string>天门</string>
    2025     </value>
    2026   </SerializableDictionary>
    2027   <SerializableDictionary>
    2028     <key>
    2029       <string>170170</string>
    2030     </key>
    2031     <value>
    2032       <string>神农架</string>
    2033     </value>
    2034   </SerializableDictionary>
    2035   <SerializableDictionary>
    2036     <key>
    2037       <string>170180</string>
    2038     </key>
    2039     <value>
    2040       <string>恩施</string>
    2041     </value>
    2042   </SerializableDictionary>
    2043   <SerializableDictionary>
    2044     <key>
    2045       <string>170190</string>
    2046     </key>
    2047     <value>
    2048       <string>公安</string>
    2049     </value>
    2050   </SerializableDictionary>
    2051   <SerializableDictionary>
    2052     <key>
    2053       <string>170200</string>
    2054     </key>
    2055     <value>
    2056       <string>武穴</string>
    2057     </value>
    2058   </SerializableDictionary>
    2059   <SerializableDictionary>
    2060     <key>
    2061       <string>170210</string>
    2062     </key>
    2063     <value>
    2064       <string>宜城</string>
    2065     </value>
    2066   </SerializableDictionary>
    2067   <SerializableDictionary>
    2068     <key>
    2069       <string>180020</string>
    2070     </key>
    2071     <value>
    2072       <string>长沙</string>
    2073     </value>
    2074   </SerializableDictionary>
    2075   <SerializableDictionary>
    2076     <key>
    2077       <string>180030</string>
    2078     </key>
    2079     <value>
    2080       <string>湘潭</string>
    2081     </value>
    2082   </SerializableDictionary>
    2083   <SerializableDictionary>
    2084     <key>
    2085       <string>180040</string>
    2086     </key>
    2087     <value>
    2088       <string>株洲</string>
    2089     </value>
    2090   </SerializableDictionary>
    2091   <SerializableDictionary>
    2092     <key>
    2093       <string>180050</string>
    2094     </key>
    2095     <value>
    2096       <string>常德</string>
    2097     </value>
    2098   </SerializableDictionary>
    2099   <SerializableDictionary>
    2100     <key>
    2101       <string>180060</string>
    2102     </key>
    2103     <value>
    2104       <string>衡阳</string>
    2105     </value>
    2106   </SerializableDictionary>
    2107   <SerializableDictionary>
    2108     <key>
    2109       <string>180070</string>
    2110     </key>
    2111     <value>
    2112       <string>益阳</string>
    2113     </value>
    2114   </SerializableDictionary>
    2115   <SerializableDictionary>
    2116     <key>
    2117       <string>180080</string>
    2118     </key>
    2119     <value>
    2120       <string>郴州</string>
    2121     </value>
    2122   </SerializableDictionary>
    2123   <SerializableDictionary>
    2124     <key>
    2125       <string>180090</string>
    2126     </key>
    2127     <value>
    2128       <string>岳阳</string>
    2129     </value>
    2130   </SerializableDictionary>
    2131   <SerializableDictionary>
    2132     <key>
    2133       <string>180100</string>
    2134     </key>
    2135     <value>
    2136       <string>邵阳</string>
    2137     </value>
    2138   </SerializableDictionary>
    2139   <SerializableDictionary>
    2140     <key>
    2141       <string>180110</string>
    2142     </key>
    2143     <value>
    2144       <string>张家界</string>
    2145     </value>
    2146   </SerializableDictionary>
    2147   <SerializableDictionary>
    2148     <key>
    2149       <string>180120</string>
    2150     </key>
    2151     <value>
    2152       <string>娄底</string>
    2153     </value>
    2154   </SerializableDictionary>
    2155   <SerializableDictionary>
    2156     <key>
    2157       <string>180130</string>
    2158     </key>
    2159     <value>
    2160       <string>永州</string>
    2161     </value>
    2162   </SerializableDictionary>
    2163   <SerializableDictionary>
    2164     <key>
    2165       <string>180140</string>
    2166     </key>
    2167     <value>
    2168       <string>怀化</string>
    2169     </value>
    2170   </SerializableDictionary>
    2171   <SerializableDictionary>
    2172     <key>
    2173       <string>180150</string>
    2174     </key>
    2175     <value>
    2176       <string>湘西土家族苗族自治州</string>
    2177     </value>
    2178   </SerializableDictionary>
    2179   <SerializableDictionary>
    2180     <key>
    2181       <string>190020</string>
    2182     </key>
    2183     <value>
    2184       <string>长春</string>
    2185     </value>
    2186   </SerializableDictionary>
    2187   <SerializableDictionary>
    2188     <key>
    2189       <string>190030</string>
    2190     </key>
    2191     <value>
    2192       <string>吉林市</string>
    2193     </value>
    2194   </SerializableDictionary>
    2195   <SerializableDictionary>
    2196     <key>
    2197       <string>190040</string>
    2198     </key>
    2199     <value>
    2200       <string>四平</string>
    2201     </value>
    2202   </SerializableDictionary>
    2203   <SerializableDictionary>
    2204     <key>
    2205       <string>190050</string>
    2206     </key>
    2207     <value>
    2208       <string>辽源</string>
    2209     </value>
    2210   </SerializableDictionary>
    2211   <SerializableDictionary>
    2212     <key>
    2213       <string>190060</string>
    2214     </key>
    2215     <value>
    2216       <string>通化</string>
    2217     </value>
    2218   </SerializableDictionary>
    2219   <SerializableDictionary>
    2220     <key>
    2221       <string>190070</string>
    2222     </key>
    2223     <value>
    2224       <string>白山</string>
    2225     </value>
    2226   </SerializableDictionary>
    2227   <SerializableDictionary>
    2228     <key>
    2229       <string>190080</string>
    2230     </key>
    2231     <value>
    2232       <string>松原</string>
    2233     </value>
    2234   </SerializableDictionary>
    2235   <SerializableDictionary>
    2236     <key>
    2237       <string>190090</string>
    2238     </key>
    2239     <value>
    2240       <string>白城</string>
    2241     </value>
    2242   </SerializableDictionary>
    2243   <SerializableDictionary>
    2244     <key>
    2245       <string>190100</string>
    2246     </key>
    2247     <value>
    2248       <string>延吉</string>
    2249     </value>
    2250   </SerializableDictionary>
    2251   <SerializableDictionary>
    2252     <key>
    2253       <string>190110</string>
    2254     </key>
    2255     <value>
    2256       <string>延边</string>
    2257     </value>
    2258   </SerializableDictionary>
    2259   <SerializableDictionary>
    2260     <key>
    2261       <string>190120</string>
    2262     </key>
    2263     <value>
    2264       <string>公主岭</string>
    2265     </value>
    2266   </SerializableDictionary>
    2267   <SerializableDictionary>
    2268     <key>
    2269       <string>200020</string>
    2270     </key>
    2271     <value>
    2272       <string>南昌</string>
    2273     </value>
    2274   </SerializableDictionary>
    2275   <SerializableDictionary>
    2276     <key>
    2277       <string>200030</string>
    2278     </key>
    2279     <value>
    2280       <string>九江</string>
    2281     </value>
    2282   </SerializableDictionary>
    2283   <SerializableDictionary>
    2284     <key>
    2285       <string>200040</string>
    2286     </key>
    2287     <value>
    2288       <string>赣州</string>
    2289     </value>
    2290   </SerializableDictionary>
    2291   <SerializableDictionary>
    2292     <key>
    2293       <string>200050</string>
    2294     </key>
    2295     <value>
    2296       <string>宜春</string>
    2297     </value>
    2298   </SerializableDictionary>
    2299   <SerializableDictionary>
    2300     <key>
    2301       <string>200060</string>
    2302     </key>
    2303     <value>
    2304       <string>吉安</string>
    2305     </value>
    2306   </SerializableDictionary>
    2307   <SerializableDictionary>
    2308     <key>
    2309       <string>200070</string>
    2310     </key>
    2311     <value>
    2312       <string>上饶</string>
    2313     </value>
    2314   </SerializableDictionary>
    2315   <SerializableDictionary>
    2316     <key>
    2317       <string>200080</string>
    2318     </key>
    2319     <value>
    2320       <string>抚州</string>
    2321     </value>
    2322   </SerializableDictionary>
    2323   <SerializableDictionary>
    2324     <key>
    2325       <string>200090</string>
    2326     </key>
    2327     <value>
    2328       <string>景德镇</string>
    2329     </value>
    2330   </SerializableDictionary>
    2331   <SerializableDictionary>
    2332     <key>
    2333       <string>200100</string>
    2334     </key>
    2335     <value>
    2336       <string>萍乡</string>
    2337     </value>
    2338   </SerializableDictionary>
    2339   <SerializableDictionary>
    2340     <key>
    2341       <string>200110</string>
    2342     </key>
    2343     <value>
    2344       <string>新余</string>
    2345     </value>
    2346   </SerializableDictionary>
    2347   <SerializableDictionary>
    2348     <key>
    2349       <string>200120</string>
    2350     </key>
    2351     <value>
    2352       <string>鹰潭</string>
    2353     </value>
    2354   </SerializableDictionary>
    2355   <SerializableDictionary>
    2356     <key>
    2357       <string>210020</string>
    2358     </key>
    2359     <value>
    2360       <string>沈阳</string>
    2361     </value>
    2362   </SerializableDictionary>
    2363   <SerializableDictionary>
    2364     <key>
    2365       <string>210030</string>
    2366     </key>
    2367     <value>
    2368       <string>鞍山</string>
    2369     </value>
    2370   </SerializableDictionary>
    2371   <SerializableDictionary>
    2372     <key>
    2373       <string>210040</string>
    2374     </key>
    2375     <value>
    2376       <string>大连</string>
    2377     </value>
    2378   </SerializableDictionary>
    2379   <SerializableDictionary>
    2380     <key>
    2381       <string>210050</string>
    2382     </key>
    2383     <value>
    2384       <string>葫芦岛</string>
    2385     </value>
    2386   </SerializableDictionary>
    2387   <SerializableDictionary>
    2388     <key>
    2389       <string>210060</string>
    2390     </key>
    2391     <value>
    2392       <string>抚顺</string>
    2393     </value>
    2394   </SerializableDictionary>
    2395   <SerializableDictionary>
    2396     <key>
    2397       <string>210070</string>
    2398     </key>
    2399     <value>
    2400       <string>本溪</string>
    2401     </value>
    2402   </SerializableDictionary>
    2403   <SerializableDictionary>
    2404     <key>
    2405       <string>210080</string>
    2406     </key>
    2407     <value>
    2408       <string>丹东</string>
    2409     </value>
    2410   </SerializableDictionary>
    2411   <SerializableDictionary>
    2412     <key>
    2413       <string>210090</string>
    2414     </key>
    2415     <value>
    2416       <string>锦州</string>
    2417     </value>
    2418   </SerializableDictionary>
    2419   <SerializableDictionary>
    2420     <key>
    2421       <string>210100</string>
    2422     </key>
    2423     <value>
    2424       <string>营口</string>
    2425     </value>
    2426   </SerializableDictionary>
    2427   <SerializableDictionary>
    2428     <key>
    2429       <string>210110</string>
    2430     </key>
    2431     <value>
    2432       <string>阜新</string>
    2433     </value>
    2434   </SerializableDictionary>
    2435   <SerializableDictionary>
    2436     <key>
    2437       <string>210120</string>
    2438     </key>
    2439     <value>
    2440       <string>辽阳</string>
    2441     </value>
    2442   </SerializableDictionary>
    2443   <SerializableDictionary>
    2444     <key>
    2445       <string>210130</string>
    2446     </key>
    2447     <value>
    2448       <string>盘锦</string>
    2449     </value>
    2450   </SerializableDictionary>
    2451   <SerializableDictionary>
    2452     <key>
    2453       <string>210140</string>
    2454     </key>
    2455     <value>
    2456       <string>铁岭</string>
    2457     </value>
    2458   </SerializableDictionary>
    2459   <SerializableDictionary>
    2460     <key>
    2461       <string>210150</string>
    2462     </key>
    2463     <value>
    2464       <string>朝阳</string>
    2465     </value>
    2466   </SerializableDictionary>
    2467   <SerializableDictionary>
    2468     <key>
    2469       <string>210160</string>
    2470     </key>
    2471     <value>
    2472       <string>兴城</string>
    2473     </value>
    2474   </SerializableDictionary>
    2475   <SerializableDictionary>
    2476     <key>
    2477       <string>210170</string>
    2478     </key>
    2479     <value>
    2480       <string>海城</string>
    2481     </value>
    2482   </SerializableDictionary>
    2483   <SerializableDictionary>
    2484     <key>
    2485       <string>210180</string>
    2486     </key>
    2487     <value>
    2488       <string>昌图</string>
    2489     </value>
    2490   </SerializableDictionary>
    2491   <SerializableDictionary>
    2492     <key>
    2493       <string>210190</string>
    2494     </key>
    2495     <value>
    2496       <string>开原</string>
    2497     </value>
    2498   </SerializableDictionary>
    2499   <SerializableDictionary>
    2500     <key>
    2501       <string>220020</string>
    2502     </key>
    2503     <value>
    2504       <string>呼和浩特</string>
    2505     </value>
    2506   </SerializableDictionary>
    2507   <SerializableDictionary>
    2508     <key>
    2509       <string>220030</string>
    2510     </key>
    2511     <value>
    2512       <string>包头</string>
    2513     </value>
    2514   </SerializableDictionary>
    2515   <SerializableDictionary>
    2516     <key>
    2517       <string>220040</string>
    2518     </key>
    2519     <value>
    2520       <string>赤峰</string>
    2521     </value>
    2522   </SerializableDictionary>
    2523   <SerializableDictionary>
    2524     <key>
    2525       <string>220050</string>
    2526     </key>
    2527     <value>
    2528       <string>鄂尔多斯</string>
    2529     </value>
    2530   </SerializableDictionary>
    2531   <SerializableDictionary>
    2532     <key>
    2533       <string>220060</string>
    2534     </key>
    2535     <value>
    2536       <string>乌海</string>
    2537     </value>
    2538   </SerializableDictionary>
    2539   <SerializableDictionary>
    2540     <key>
    2541       <string>220070</string>
    2542     </key>
    2543     <value>
    2544       <string>通辽</string>
    2545     </value>
    2546   </SerializableDictionary>
    2547   <SerializableDictionary>
    2548     <key>
    2549       <string>220080</string>
    2550     </key>
    2551     <value>
    2552       <string>呼伦贝尔</string>
    2553     </value>
    2554   </SerializableDictionary>
    2555   <SerializableDictionary>
    2556     <key>
    2557       <string>220090</string>
    2558     </key>
    2559     <value>
    2560       <string>巴彦淖尔</string>
    2561     </value>
    2562   </SerializableDictionary>
    2563   <SerializableDictionary>
    2564     <key>
    2565       <string>220100</string>
    2566     </key>
    2567     <value>
    2568       <string>乌兰察布</string>
    2569     </value>
    2570   </SerializableDictionary>
    2571   <SerializableDictionary>
    2572     <key>
    2573       <string>220110</string>
    2574     </key>
    2575     <value>
    2576       <string>兴安盟</string>
    2577     </value>
    2578   </SerializableDictionary>
    2579   <SerializableDictionary>
    2580     <key>
    2581       <string>220120</string>
    2582     </key>
    2583     <value>
    2584       <string>锡林郭勒盟</string>
    2585     </value>
    2586   </SerializableDictionary>
    2587   <SerializableDictionary>
    2588     <key>
    2589       <string>220130</string>
    2590     </key>
    2591     <value>
    2592       <string>阿拉善盟</string>
    2593     </value>
    2594   </SerializableDictionary>
    2595   <SerializableDictionary>
    2596     <key>
    2597       <string>220140</string>
    2598     </key>
    2599     <value>
    2600       <string>乌审旗</string>
    2601     </value>
    2602   </SerializableDictionary>
    2603   <SerializableDictionary>
    2604     <key>
    2605       <string>220150</string>
    2606     </key>
    2607     <value>
    2608       <string>满洲里</string>
    2609     </value>
    2610   </SerializableDictionary>
    2611   <SerializableDictionary>
    2612     <key>
    2613       <string>230020</string>
    2614     </key>
    2615     <value>
    2616       <string>银川</string>
    2617     </value>
    2618   </SerializableDictionary>
    2619   <SerializableDictionary>
    2620     <key>
    2621       <string>230030</string>
    2622     </key>
    2623     <value>
    2624       <string>石嘴山</string>
    2625     </value>
    2626   </SerializableDictionary>
    2627   <SerializableDictionary>
    2628     <key>
    2629       <string>230040</string>
    2630     </key>
    2631     <value>
    2632       <string>吴忠</string>
    2633     </value>
    2634   </SerializableDictionary>
    2635   <SerializableDictionary>
    2636     <key>
    2637       <string>230050</string>
    2638     </key>
    2639     <value>
    2640       <string>固原</string>
    2641     </value>
    2642   </SerializableDictionary>
    2643   <SerializableDictionary>
    2644     <key>
    2645       <string>230060</string>
    2646     </key>
    2647     <value>
    2648       <string>中卫</string>
    2649     </value>
    2650   </SerializableDictionary>
    2651   <SerializableDictionary>
    2652     <key>
    2653       <string>240020</string>
    2654     </key>
    2655     <value>
    2656       <string>西宁</string>
    2657     </value>
    2658   </SerializableDictionary>
    2659   <SerializableDictionary>
    2660     <key>
    2661       <string>240030</string>
    2662     </key>
    2663     <value>
    2664       <string>海东</string>
    2665     </value>
    2666   </SerializableDictionary>
    2667   <SerializableDictionary>
    2668     <key>
    2669       <string>240040</string>
    2670     </key>
    2671     <value>
    2672       <string>海西藏族自治州</string>
    2673     </value>
    2674   </SerializableDictionary>
    2675   <SerializableDictionary>
    2676     <key>
    2677       <string>240050</string>
    2678     </key>
    2679     <value>
    2680       <string>海北藏族自治州</string>
    2681     </value>
    2682   </SerializableDictionary>
    2683   <SerializableDictionary>
    2684     <key>
    2685       <string>240060</string>
    2686     </key>
    2687     <value>
    2688       <string>黄南藏族自治州</string>
    2689     </value>
    2690   </SerializableDictionary>
    2691   <SerializableDictionary>
    2692     <key>
    2693       <string>240070</string>
    2694     </key>
    2695     <value>
    2696       <string>海南藏族自治州</string>
    2697     </value>
    2698   </SerializableDictionary>
    2699   <SerializableDictionary>
    2700     <key>
    2701       <string>240080</string>
    2702     </key>
    2703     <value>
    2704       <string>果洛藏族自治州</string>
    2705     </value>
    2706   </SerializableDictionary>
    2707   <SerializableDictionary>
    2708     <key>
    2709       <string>240090</string>
    2710     </key>
    2711     <value>
    2712       <string>玉树藏族自治州</string>
    2713     </value>
    2714   </SerializableDictionary>
    2715   <SerializableDictionary>
    2716     <key>
    2717       <string>250020</string>
    2718     </key>
    2719     <value>
    2720       <string>济南</string>
    2721     </value>
    2722   </SerializableDictionary>
    2723   <SerializableDictionary>
    2724     <key>
    2725       <string>250030</string>
    2726     </key>
    2727     <value>
    2728       <string>德州</string>
    2729     </value>
    2730   </SerializableDictionary>
    2731   <SerializableDictionary>
    2732     <key>
    2733       <string>250040</string>
    2734     </key>
    2735     <value>
    2736       <string>东营</string>
    2737     </value>
    2738   </SerializableDictionary>
    2739   <SerializableDictionary>
    2740     <key>
    2741       <string>250050</string>
    2742     </key>
    2743     <value>
    2744       <string>济宁</string>
    2745     </value>
    2746   </SerializableDictionary>
    2747   <SerializableDictionary>
    2748     <key>
    2749       <string>250060</string>
    2750     </key>
    2751     <value>
    2752       <string>临沂</string>
    2753     </value>
    2754   </SerializableDictionary>
    2755   <SerializableDictionary>
    2756     <key>
    2757       <string>250070</string>
    2758     </key>
    2759     <value>
    2760       <string>青岛</string>
    2761     </value>
    2762   </SerializableDictionary>
    2763   <SerializableDictionary>
    2764     <key>
    2765       <string>250080</string>
    2766     </key>
    2767     <value>
    2768       <string>日照</string>
    2769     </value>
    2770   </SerializableDictionary>
    2771   <SerializableDictionary>
    2772     <key>
    2773       <string>250090</string>
    2774     </key>
    2775     <value>
    2776       <string>泰安</string>
    2777     </value>
    2778   </SerializableDictionary>
    2779   <SerializableDictionary>
    2780     <key>
    2781       <string>250100</string>
    2782     </key>
    2783     <value>
    2784       <string>威海</string>
    2785     </value>
    2786   </SerializableDictionary>
    2787   <SerializableDictionary>
    2788     <key>
    2789       <string>250110</string>
    2790     </key>
    2791     <value>
    2792       <string>潍坊</string>
    2793     </value>
    2794   </SerializableDictionary>
    2795   <SerializableDictionary>
    2796     <key>
    2797       <string>250120</string>
    2798     </key>
    2799     <value>
    2800       <string>烟台</string>
    2801     </value>
    2802   </SerializableDictionary>
    2803   <SerializableDictionary>
    2804     <key>
    2805       <string>250130</string>
    2806     </key>
    2807     <value>
    2808       <string>淄博</string>
    2809     </value>
    2810   </SerializableDictionary>
    2811   <SerializableDictionary>
    2812     <key>
    2813       <string>250140</string>
    2814     </key>
    2815     <value>
    2816       <string>枣庄</string>
    2817     </value>
    2818   </SerializableDictionary>
    2819   <SerializableDictionary>
    2820     <key>
    2821       <string>250150</string>
    2822     </key>
    2823     <value>
    2824       <string>滨州</string>
    2825     </value>
    2826   </SerializableDictionary>
    2827   <SerializableDictionary>
    2828     <key>
    2829       <string>250160</string>
    2830     </key>
    2831     <value>
    2832       <string>聊城</string>
    2833     </value>
    2834   </SerializableDictionary>
    2835   <SerializableDictionary>
    2836     <key>
    2837       <string>250170</string>
    2838     </key>
    2839     <value>
    2840       <string>菏泽</string>
    2841     </value>
    2842   </SerializableDictionary>
    2843   <SerializableDictionary>
    2844     <key>
    2845       <string>250180</string>
    2846     </key>
    2847     <value>
    2848       <string>莱芜</string>
    2849     </value>
    2850   </SerializableDictionary>
    2851   <SerializableDictionary>
    2852     <key>
    2853       <string>250190</string>
    2854     </key>
    2855     <value>
    2856       <string>荣成</string>
    2857     </value>
    2858   </SerializableDictionary>
    2859   <SerializableDictionary>
    2860     <key>
    2861       <string>250200</string>
    2862     </key>
    2863     <value>
    2864       <string>黄岛</string>
    2865     </value>
    2866   </SerializableDictionary>
    2867   <SerializableDictionary>
    2868     <key>
    2869       <string>250210</string>
    2870     </key>
    2871     <value>
    2872       <string>乳山</string>
    2873     </value>
    2874   </SerializableDictionary>
    2875   <SerializableDictionary>
    2876     <key>
    2877       <string>250220</string>
    2878     </key>
    2879     <value>
    2880       <string>城阳</string>
    2881     </value>
    2882   </SerializableDictionary>
    2883   <SerializableDictionary>
    2884     <key>
    2885       <string>250230</string>
    2886     </key>
    2887     <value>
    2888       <string>即墨</string>
    2889     </value>
    2890   </SerializableDictionary>
    2891   <SerializableDictionary>
    2892     <key>
    2893       <string>250240</string>
    2894     </key>
    2895     <value>
    2896       <string>肥城</string>
    2897     </value>
    2898   </SerializableDictionary>
    2899   <SerializableDictionary>
    2900     <key>
    2901       <string>250250</string>
    2902     </key>
    2903     <value>
    2904       <string>兖州</string>
    2905     </value>
    2906   </SerializableDictionary>
    2907   <SerializableDictionary>
    2908     <key>
    2909       <string>250260</string>
    2910     </key>
    2911     <value>
    2912       <string>海阳</string>
    2913     </value>
    2914   </SerializableDictionary>
    2915   <SerializableDictionary>
    2916     <key>
    2917       <string>250270</string>
    2918     </key>
    2919     <value>
    2920       <string>胶州</string>
    2921     </value>
    2922   </SerializableDictionary>
    2923   <SerializableDictionary>
    2924     <key>
    2925       <string>250280</string>
    2926     </key>
    2927     <value>
    2928       <string>胶南</string>
    2929     </value>
    2930   </SerializableDictionary>
    2931   <SerializableDictionary>
    2932     <key>
    2933       <string>250290</string>
    2934     </key>
    2935     <value>
    2936       <string>平度</string>
    2937     </value>
    2938   </SerializableDictionary>
    2939   <SerializableDictionary>
    2940     <key>
    2941       <string>250300</string>
    2942     </key>
    2943     <value>
    2944       <string>莱西</string>
    2945     </value>
    2946   </SerializableDictionary>
    2947   <SerializableDictionary>
    2948     <key>
    2949       <string>260020</string>
    2950     </key>
    2951     <value>
    2952       <string>太原</string>
    2953     </value>
    2954   </SerializableDictionary>
    2955   <SerializableDictionary>
    2956     <key>
    2957       <string>260030</string>
    2958     </key>
    2959     <value>
    2960       <string>大同</string>
    2961     </value>
    2962   </SerializableDictionary>
    2963   <SerializableDictionary>
    2964     <key>
    2965       <string>260040</string>
    2966     </key>
    2967     <value>
    2968       <string>临汾</string>
    2969     </value>
    2970   </SerializableDictionary>
    2971   <SerializableDictionary>
    2972     <key>
    2973       <string>260050</string>
    2974     </key>
    2975     <value>
    2976       <string>运城</string>
    2977     </value>
    2978   </SerializableDictionary>
    2979   <SerializableDictionary>
    2980     <key>
    2981       <string>260060</string>
    2982     </key>
    2983     <value>
    2984       <string>长治</string>
    2985     </value>
    2986   </SerializableDictionary>
    2987   <SerializableDictionary>
    2988     <key>
    2989       <string>260070</string>
    2990     </key>
    2991     <value>
    2992       <string>阳泉</string>
    2993     </value>
    2994   </SerializableDictionary>
    2995   <SerializableDictionary>
    2996     <key>
    2997       <string>260080</string>
    2998     </key>
    2999     <value>
    3000       <string>晋城</string>
    3001     </value>
    3002   </SerializableDictionary>
    3003   <SerializableDictionary>
    3004     <key>
    3005       <string>260090</string>
    3006     </key>
    3007     <value>
    3008       <string>朔州</string>
    3009     </value>
    3010   </SerializableDictionary>
    3011   <SerializableDictionary>
    3012     <key>
    3013       <string>260100</string>
    3014     </key>
    3015     <value>
    3016       <string>晋中</string>
    3017     </value>
    3018   </SerializableDictionary>
    3019   <SerializableDictionary>
    3020     <key>
    3021       <string>260110</string>
    3022     </key>
    3023     <value>
    3024       <string>忻州</string>
    3025     </value>
    3026   </SerializableDictionary>
    3027   <SerializableDictionary>
    3028     <key>
    3029       <string>260120</string>
    3030     </key>
    3031     <value>
    3032       <string>吕梁</string>
    3033     </value>
    3034   </SerializableDictionary>
    3035   <SerializableDictionary>
    3036     <key>
    3037       <string>260130</string>
    3038     </key>
    3039     <value>
    3040       <string>永济</string>
    3041     </value>
    3042   </SerializableDictionary>
    3043   <SerializableDictionary>
    3044     <key>
    3045       <string>260140</string>
    3046     </key>
    3047     <value>
    3048       <string>和顺</string>
    3049     </value>
    3050   </SerializableDictionary>
    3051   <SerializableDictionary>
    3052     <key>
    3053       <string>270020</string>
    3054     </key>
    3055     <value>
    3056       <string>西安</string>
    3057     </value>
    3058   </SerializableDictionary>
    3059   <SerializableDictionary>
    3060     <key>
    3061       <string>270030</string>
    3062     </key>
    3063     <value>
    3064       <string>宝鸡</string>
    3065     </value>
    3066   </SerializableDictionary>
    3067   <SerializableDictionary>
    3068     <key>
    3069       <string>270040</string>
    3070     </key>
    3071     <value>
    3072       <string>咸阳</string>
    3073     </value>
    3074   </SerializableDictionary>
    3075   <SerializableDictionary>
    3076     <key>
    3077       <string>270050</string>
    3078     </key>
    3079     <value>
    3080       <string>铜川</string>
    3081     </value>
    3082   </SerializableDictionary>
    3083   <SerializableDictionary>
    3084     <key>
    3085       <string>270060</string>
    3086     </key>
    3087     <value>
    3088       <string>渭南</string>
    3089     </value>
    3090   </SerializableDictionary>
    3091   <SerializableDictionary>
    3092     <key>
    3093       <string>270070</string>
    3094     </key>
    3095     <value>
    3096       <string>汉中</string>
    3097     </value>
    3098   </SerializableDictionary>
    3099   <SerializableDictionary>
    3100     <key>
    3101       <string>270080</string>
    3102     </key>
    3103     <value>
    3104       <string>安康</string>
    3105     </value>
    3106   </SerializableDictionary>
    3107   <SerializableDictionary>
    3108     <key>
    3109       <string>270090</string>
    3110     </key>
    3111     <value>
    3112       <string>商洛</string>
    3113     </value>
    3114   </SerializableDictionary>
    3115   <SerializableDictionary>
    3116     <key>
    3117       <string>270100</string>
    3118     </key>
    3119     <value>
    3120       <string>延安</string>
    3121     </value>
    3122   </SerializableDictionary>
    3123   <SerializableDictionary>
    3124     <key>
    3125       <string>270110</string>
    3126     </key>
    3127     <value>
    3128       <string>榆林</string>
    3129     </value>
    3130   </SerializableDictionary>
    3131   <SerializableDictionary>
    3132     <key>
    3133       <string>270120</string>
    3134     </key>
    3135     <value>
    3136       <string>杨凌</string>
    3137     </value>
    3138   </SerializableDictionary>
    3139   <SerializableDictionary>
    3140     <key>
    3141       <string>270130</string>
    3142     </key>
    3143     <value>
    3144       <string>兴平</string>
    3145     </value>
    3146   </SerializableDictionary>
    3147   <SerializableDictionary>
    3148     <key>
    3149       <string>280020</string>
    3150     </key>
    3151     <value>
    3152       <string>成都</string>
    3153     </value>
    3154   </SerializableDictionary>
    3155   <SerializableDictionary>
    3156     <key>
    3157       <string>280030</string>
    3158     </key>
    3159     <value>
    3160       <string>乐山</string>
    3161     </value>
    3162   </SerializableDictionary>
    3163   <SerializableDictionary>
    3164     <key>
    3165       <string>280040</string>
    3166     </key>
    3167     <value>
    3168       <string>泸州</string>
    3169     </value>
    3170   </SerializableDictionary>
    3171   <SerializableDictionary>
    3172     <key>
    3173       <string>280050</string>
    3174     </key>
    3175     <value>
    3176       <string>绵阳</string>
    3177     </value>
    3178   </SerializableDictionary>
    3179   <SerializableDictionary>
    3180     <key>
    3181       <string>280060</string>
    3182     </key>
    3183     <value>
    3184       <string>内江</string>
    3185     </value>
    3186   </SerializableDictionary>
    3187   <SerializableDictionary>
    3188     <key>
    3189       <string>280070</string>
    3190     </key>
    3191     <value>
    3192       <string>宜宾</string>
    3193     </value>
    3194   </SerializableDictionary>
    3195   <SerializableDictionary>
    3196     <key>
    3197       <string>280080</string>
    3198     </key>
    3199     <value>
    3200       <string>自贡</string>
    3201     </value>
    3202   </SerializableDictionary>
    3203   <SerializableDictionary>
    3204     <key>
    3205       <string>280090</string>
    3206     </key>
    3207     <value>
    3208       <string>攀枝花</string>
    3209     </value>
    3210   </SerializableDictionary>
    3211   <SerializableDictionary>
    3212     <key>
    3213       <string>280100</string>
    3214     </key>
    3215     <value>
    3216       <string>德阳</string>
    3217     </value>
    3218   </SerializableDictionary>
    3219   <SerializableDictionary>
    3220     <key>
    3221       <string>280110</string>
    3222     </key>
    3223     <value>
    3224       <string>广元</string>
    3225     </value>
    3226   </SerializableDictionary>
    3227   <SerializableDictionary>
    3228     <key>
    3229       <string>280120</string>
    3230     </key>
    3231     <value>
    3232       <string>遂宁</string>
    3233     </value>
    3234   </SerializableDictionary>
    3235   <SerializableDictionary>
    3236     <key>
    3237       <string>280130</string>
    3238     </key>
    3239     <value>
    3240       <string>南充</string>
    3241     </value>
    3242   </SerializableDictionary>
    3243   <SerializableDictionary>
    3244     <key>
    3245       <string>280140</string>
    3246     </key>
    3247     <value>
    3248       <string>眉山</string>
    3249     </value>
    3250   </SerializableDictionary>
    3251   <SerializableDictionary>
    3252     <key>
    3253       <string>280150</string>
    3254     </key>
    3255     <value>
    3256       <string>广安</string>
    3257     </value>
    3258   </SerializableDictionary>
    3259   <SerializableDictionary>
    3260     <key>
    3261       <string>280160</string>
    3262     </key>
    3263     <value>
    3264       <string>达州</string>
    3265     </value>
    3266   </SerializableDictionary>
    3267   <SerializableDictionary>
    3268     <key>
    3269       <string>280170</string>
    3270     </key>
    3271     <value>
    3272       <string>雅安</string>
    3273     </value>
    3274   </SerializableDictionary>
    3275   <SerializableDictionary>
    3276     <key>
    3277       <string>280180</string>
    3278     </key>
    3279     <value>
    3280       <string>巴中</string>
    3281     </value>
    3282   </SerializableDictionary>
    3283   <SerializableDictionary>
    3284     <key>
    3285       <string>280190</string>
    3286     </key>
    3287     <value>
    3288       <string>资阳</string>
    3289     </value>
    3290   </SerializableDictionary>
    3291   <SerializableDictionary>
    3292     <key>
    3293       <string>280200</string>
    3294     </key>
    3295     <value>
    3296       <string>西昌</string>
    3297     </value>
    3298   </SerializableDictionary>
    3299   <SerializableDictionary>
    3300     <key>
    3301       <string>280210</string>
    3302     </key>
    3303     <value>
    3304       <string>甘孜</string>
    3305     </value>
    3306   </SerializableDictionary>
    3307   <SerializableDictionary>
    3308     <key>
    3309       <string>280220</string>
    3310     </key>
    3311     <value>
    3312       <string>阿坝</string>
    3313     </value>
    3314   </SerializableDictionary>
    3315   <SerializableDictionary>
    3316     <key>
    3317       <string>280230</string>
    3318     </key>
    3319     <value>
    3320       <string>凉山</string>
    3321     </value>
    3322   </SerializableDictionary>
    3323   <SerializableDictionary>
    3324     <key>
    3325       <string>280240</string>
    3326     </key>
    3327     <value>
    3328       <string>峨眉</string>
    3329     </value>
    3330   </SerializableDictionary>
    3331   <SerializableDictionary>
    3332     <key>
    3333       <string>280250</string>
    3334     </key>
    3335     <value>
    3336       <string>简阳</string>
    3337     </value>
    3338   </SerializableDictionary>
    3339   <SerializableDictionary>
    3340     <key>
    3341       <string>290020</string>
    3342     </key>
    3343     <value>
    3344       <string>拉萨</string>
    3345     </value>
    3346   </SerializableDictionary>
    3347   <SerializableDictionary>
    3348     <key>
    3349       <string>290030</string>
    3350     </key>
    3351     <value>
    3352       <string>日喀则</string>
    3353     </value>
    3354   </SerializableDictionary>
    3355   <SerializableDictionary>
    3356     <key>
    3357       <string>290040</string>
    3358     </key>
    3359     <value>
    3360       <string>林芝</string>
    3361     </value>
    3362   </SerializableDictionary>
    3363   <SerializableDictionary>
    3364     <key>
    3365       <string>290050</string>
    3366     </key>
    3367     <value>
    3368       <string>山南</string>
    3369     </value>
    3370   </SerializableDictionary>
    3371   <SerializableDictionary>
    3372     <key>
    3373       <string>290060</string>
    3374     </key>
    3375     <value>
    3376       <string>昌都</string>
    3377     </value>
    3378   </SerializableDictionary>
    3379   <SerializableDictionary>
    3380     <key>
    3381       <string>290070</string>
    3382     </key>
    3383     <value>
    3384       <string>那曲</string>
    3385     </value>
    3386   </SerializableDictionary>
    3387   <SerializableDictionary>
    3388     <key>
    3389       <string>290080</string>
    3390     </key>
    3391     <value>
    3392       <string>阿里</string>
    3393     </value>
    3394   </SerializableDictionary>
    3395   <SerializableDictionary>
    3396     <key>
    3397       <string>300020</string>
    3398     </key>
    3399     <value>
    3400       <string>乌鲁木齐</string>
    3401     </value>
    3402   </SerializableDictionary>
    3403   <SerializableDictionary>
    3404     <key>
    3405       <string>300030</string>
    3406     </key>
    3407     <value>
    3408       <string>喀什</string>
    3409     </value>
    3410   </SerializableDictionary>
    3411   <SerializableDictionary>
    3412     <key>
    3413       <string>300040</string>
    3414     </key>
    3415     <value>
    3416       <string>克拉玛依</string>
    3417     </value>
    3418   </SerializableDictionary>
    3419   <SerializableDictionary>
    3420     <key>
    3421       <string>300050</string>
    3422     </key>
    3423     <value>
    3424       <string>伊犁</string>
    3425     </value>
    3426   </SerializableDictionary>
    3427   <SerializableDictionary>
    3428     <key>
    3429       <string>300060</string>
    3430     </key>
    3431     <value>
    3432       <string>阿克苏</string>
    3433     </value>
    3434   </SerializableDictionary>
    3435   <SerializableDictionary>
    3436     <key>
    3437       <string>300070</string>
    3438     </key>
    3439     <value>
    3440       <string>哈密</string>
    3441     </value>
    3442   </SerializableDictionary>
    3443   <SerializableDictionary>
    3444     <key>
    3445       <string>300080</string>
    3446     </key>
    3447     <value>
    3448       <string>石河子</string>
    3449     </value>
    3450   </SerializableDictionary>
    3451   <SerializableDictionary>
    3452     <key>
    3453       <string>300090</string>
    3454     </key>
    3455     <value>
    3456       <string>阿拉尔</string>
    3457     </value>
    3458   </SerializableDictionary>
    3459   <SerializableDictionary>
    3460     <key>
    3461       <string>300100</string>
    3462     </key>
    3463     <value>
    3464       <string>五家渠</string>
    3465     </value>
    3466   </SerializableDictionary>
    3467   <SerializableDictionary>
    3468     <key>
    3469       <string>300110</string>
    3470     </key>
    3471     <value>
    3472       <string>图木舒克</string>
    3473     </value>
    3474   </SerializableDictionary>
    3475   <SerializableDictionary>
    3476     <key>
    3477       <string>300120</string>
    3478     </key>
    3479     <value>
    3480       <string>昌吉回族自治州</string>
    3481     </value>
    3482   </SerializableDictionary>
    3483   <SerializableDictionary>
    3484     <key>
    3485       <string>300130</string>
    3486     </key>
    3487     <value>
    3488       <string>阿勒泰</string>
    3489     </value>
    3490   </SerializableDictionary>
    3491   <SerializableDictionary>
    3492     <key>
    3493       <string>300140</string>
    3494     </key>
    3495     <value>
    3496       <string>吐鲁番</string>
    3497     </value>
    3498   </SerializableDictionary>
    3499   <SerializableDictionary>
    3500     <key>
    3501       <string>300150</string>
    3502     </key>
    3503     <value>
    3504       <string>塔城</string>
    3505     </value>
    3506   </SerializableDictionary>
    3507   <SerializableDictionary>
    3508     <key>
    3509       <string>300160</string>
    3510     </key>
    3511     <value>
    3512       <string>和田</string>
    3513     </value>
    3514   </SerializableDictionary>
    3515   <SerializableDictionary>
    3516     <key>
    3517       <string>300170</string>
    3518     </key>
    3519     <value>
    3520       <string>克孜勒苏柯尔克孜自治州</string>
    3521     </value>
    3522   </SerializableDictionary>
    3523   <SerializableDictionary>
    3524     <key>
    3525       <string>300180</string>
    3526     </key>
    3527     <value>
    3528       <string>巴音郭楞蒙古自治州</string>
    3529     </value>
    3530   </SerializableDictionary>
    3531   <SerializableDictionary>
    3532     <key>
    3533       <string>300190</string>
    3534     </key>
    3535     <value>
    3536       <string>博尔塔拉蒙古自治州</string>
    3537     </value>
    3538   </SerializableDictionary>
    3539   <SerializableDictionary>
    3540     <key>
    3541       <string>300200</string>
    3542     </key>
    3543     <value>
    3544       <string>奎屯市</string>
    3545     </value>
    3546   </SerializableDictionary>
    3547   <SerializableDictionary>
    3548     <key>
    3549       <string>300210</string>
    3550     </key>
    3551     <value>
    3552       <string>乌苏</string>
    3553     </value>
    3554   </SerializableDictionary>
    3555   <SerializableDictionary>
    3556     <key>
    3557       <string>310020</string>
    3558     </key>
    3559     <value>
    3560       <string>昆明</string>
    3561     </value>
    3562   </SerializableDictionary>
    3563   <SerializableDictionary>
    3564     <key>
    3565       <string>310030</string>
    3566     </key>
    3567     <value>
    3568       <string>大理</string>
    3569     </value>
    3570   </SerializableDictionary>
    3571   <SerializableDictionary>
    3572     <key>
    3573       <string>310040</string>
    3574     </key>
    3575     <value>
    3576       <string>丽江</string>
    3577     </value>
    3578   </SerializableDictionary>
    3579   <SerializableDictionary>
    3580     <key>
    3581       <string>310050</string>
    3582     </key>
    3583     <value>
    3584       <string>玉溪</string>
    3585     </value>
    3586   </SerializableDictionary>
    3587   <SerializableDictionary>
    3588     <key>
    3589       <string>310060</string>
    3590     </key>
    3591     <value>
    3592       <string>曲靖</string>
    3593     </value>
    3594   </SerializableDictionary>
    3595   <SerializableDictionary>
    3596     <key>
    3597       <string>310070</string>
    3598     </key>
    3599     <value>
    3600       <string>保山</string>
    3601     </value>
    3602   </SerializableDictionary>
    3603   <SerializableDictionary>
    3604     <key>
    3605       <string>310080</string>
    3606     </key>
    3607     <value>
    3608       <string>昭通</string>
    3609     </value>
    3610   </SerializableDictionary>
    3611   <SerializableDictionary>
    3612     <key>
    3613       <string>310090</string>
    3614     </key>
    3615     <value>
    3616       <string>普洱</string>
    3617     </value>
    3618   </SerializableDictionary>
    3619   <SerializableDictionary>
    3620     <key>
    3621       <string>310100</string>
    3622     </key>
    3623     <value>
    3624       <string>临沧</string>
    3625     </value>
    3626   </SerializableDictionary>
    3627   <SerializableDictionary>
    3628     <key>
    3629       <string>310110</string>
    3630     </key>
    3631     <value>
    3632       <string>红河哈尼族彝族自治州</string>
    3633     </value>
    3634   </SerializableDictionary>
    3635   <SerializableDictionary>
    3636     <key>
    3637       <string>310120</string>
    3638     </key>
    3639     <value>
    3640       <string>文山壮族苗族自治州</string>
    3641     </value>
    3642   </SerializableDictionary>
    3643   <SerializableDictionary>
    3644     <key>
    3645       <string>310130</string>
    3646     </key>
    3647     <value>
    3648       <string>西双版纳傣族自治州</string>
    3649     </value>
    3650   </SerializableDictionary>
    3651   <SerializableDictionary>
    3652     <key>
    3653       <string>310140</string>
    3654     </key>
    3655     <value>
    3656       <string>德宏傣族景颇族自治州</string>
    3657     </value>
    3658   </SerializableDictionary>
    3659   <SerializableDictionary>
    3660     <key>
    3661       <string>310150</string>
    3662     </key>
    3663     <value>
    3664       <string>楚雄彝族自治州</string>
    3665     </value>
    3666   </SerializableDictionary>
    3667   <SerializableDictionary>
    3668     <key>
    3669       <string>310160</string>
    3670     </key>
    3671     <value>
    3672       <string>怒江傈傈族自治州</string>
    3673     </value>
    3674   </SerializableDictionary>
    3675   <SerializableDictionary>
    3676     <key>
    3677       <string>310170</string>
    3678     </key>
    3679     <value>
    3680       <string>迪庆藏族自治州</string>
    3681     </value>
    3682   </SerializableDictionary>
    3683   <SerializableDictionary>
    3684     <key>
    3685       <string>310180</string>
    3686     </key>
    3687     <value>
    3688       <string>思茅</string>
    3689     </value>
    3690   </SerializableDictionary>
    3691 </SerializableDictionaryOfStringString>
    View Code

    1.前程无忧

           前程无忧我相信应该是很多园友找工作的首选,博主就是在这上面注册了简历,并且每次换工作都是在这上面取得了成功,感觉还挺不错,祝愿各位园友都能找到自己称心如意的工作,只要我们大家都一起努力应该都没有问题的。

           下面介绍实现逻辑:

      1         #region * 前程无忧
      2         /// <summary>
      3         /// 线程池启动调用的方法
      4         /// </summary>
      5         /// <param name="obj"></param>
      6         private void Get51JobData(object obj)
      7         {
      8             string workAddress = this.txtAddress.Text.Trim();//工作地点
      9             string workAddressId = string.Empty;//工作地点ID
     10             string keyWord = this.txtKeyWord.Text.Trim();//关键词
     11             string upperSalary = this.txtSalary1.Text.Trim();//薪水范围
     12             string lowerSalary = this.txtSalary2.Text.Trim();//薪水范围
     13             string mustKey = string.Empty;//是否包含关键词
     14 
     15             jobInfoList2.Clear();
     16             curJobInfo2 = null;
     17             dt2.Rows.Clear();
     18             this.Invoke((MethodInvoker)delegate
     19             {
     20                 this.gcJob2.DataSource = dt2;
     21             });
     22             Thread th = null;//搜索线程
     23             if (th != null)
     24             {
     25                 th.Abort();
     26                 th = null;
     27             }
     28 
     29             //根据输入的城市找出城市ID
     30             KeyValuePair<string, string> kv = dic2.FirstOrDefault(t => t.Value.Contains(workAddress));
     31             if (kv.Key == null)
     32             {
     33                 XtraMessageBox.Show("无法搜索该工作地点", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     34                 return;
     35             }
     36             workAddressId = kv.Key;
     37             //勾选包含关键词
     38             if (this.chkMustKey.Checked)
     39             {
     40                 mustKey = this.txtMustKey.Text.Trim();
     41             }
     42 
     43             //调用接口
     44             JobFactory tws = new JobFactory("51Job", workAddress, workAddressId, keyWord, upperSalary, lowerSalary, mustKey);
     45             IJob job = tws.GetJob();
     46             if (job != null)
     47             {
     48                 job.GetJobEnd -= new GetJobEndEventHandler(job_GetJob2End);
     49                 job.GetJobEnd += new GetJobEndEventHandler(job_GetJob2End);
     50                 th = new Thread(new ThreadStart(job.GetJobInfoList));
     51                 th.IsBackground = true;
     52                 th.Start();
     53             }
     54         }
     55 
     56         /// <summary>
     57         /// 表格增加一行数据
     58         /// </summary>
     59         /// <param name="o"></param>
     60         /// <param name="e"></param>
     61         private void job_GetJob2End(object o, JobInfo e)
     62         {
     63             this.Invoke((MethodInvoker)delegate
     64             {
     65                 if (e != null)
     66                 {
     67                     jobInfoList2.Add(e);
     68                     curJobInfo2 = e;
     69                     this.gvJob2.AddNewRow();
     70                 }
     71                 else
     72                 {
     73                     this.layoutControlGroup2.Enabled = true;
     74                 }
     75             });
     76         }
     77 
     78         /// <summary>
     79         /// 表格增加行
     80         /// </summary>
     81         /// <param name="sender"></param>
     82         /// <param name="e"></param>
     83         private void gvJob2_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
     84         {
     85             try
     86             {
     87                 DataRowView dr = this.gvJob2.GetRow(e.RowHandle) as DataRowView;
     88                 dr["Url"] = curJobInfo2.Url;//网站链接
     89                 dr["Position"] = curJobInfo2.Position;//职位名称
     90                 dr["Company"] = curJobInfo2.Company;//公司名称
     91                 dr["Nature"] = curJobInfo2.Nature;//公司性质
     92                 dr["Scale"] = curJobInfo2.Scale;//公司规模
     93                 dr["Salary"] = curJobInfo2.Salary;//月薪/年薪
     94                 dr["Address"] = curJobInfo2.Address;//工作地点
     95                 dr["Experience"] = curJobInfo2.Experience;//工作经验
     96                 dr["Education"] = curJobInfo2.Education;//最低学历
     97                 dr["Time"] = curJobInfo2.Time;//发布时间
     98 
     99                 this.gvJob2.UpdateCurrentRow();
    100                 this.gvJob2.RefreshData();
    101                 this.gvJob2.MoveLast();
    102             }
    103             catch
    104             {
    105                 XtraMessageBox.Show("添加行失败");
    106             }
    107         }
    108 
    109         /// <summary>
    110         /// 双击行打开当前行链接
    111         /// </summary>
    112         /// <param name="sender"></param>
    113         /// <param name="e"></param>
    114         private void gcJob2_DoubleClick(object sender, EventArgs e)
    115         {
    116             string uri = this.gvJob2.GetFocusedDataRow()["Url"].ToString();
    117             System.Diagnostics.Process.Start(uri);
    118         }
    119         #endregion

            以上三个函数的作用分别是线程池启动调用的方法、表格增加一行数据、表格增加行和双击行打开当前行链接四个方法,实现这四个方法即可获取前程无忧的数据,那么获取HTML内容和解析HTML需用另外一个类实现,实现这个类如下:

      1     public class JobFrom51Job : IJob
      2     {
      3         #region * 私有字段
      4         private string url = @"http://search.51job.com/jobsearch/search_result.php?";
      5 
      6         /// <summary>
      7         /// 工作地点
      8         /// </summary>
      9         private string workAddress;
     10         /// <summary>
     11         /// 工作地点ID
     12         /// </summary>
     13         private string workAddressId;
     14         /// <summary>
     15         /// 关键词
     16         /// </summary>
     17         private string keyWord;
     18         /// <summary>
     19         /// 包含词
     20         /// </summary>
     21         private string mustKey;
     22         #endregion
     23 
     24         public JobFrom51Job(string workAddress, string workAddressId, string keyWord, string mustKey)
     25         {
     26             this.workAddress = workAddress;
     27             this.workAddressId = workAddressId;
     28             this.keyWord = keyWord;
     29             this.mustKey = mustKey;
     30         }
     31 
     32         public event GetJobEndEventHandler GetJobEnd;
     33         public void GetJobInfoList()
     34         {
     35             try
     36             {
     37                 StringBuilder condition = new StringBuilder();
     38                 condition.Append("jobarea=" + workAddressId);
     39                 if (!string.IsNullOrEmpty(keyWord))
     40                 {
     41                     keyWord = System.Web.HttpUtility.UrlEncode(keyWord, Encoding.GetEncoding("gb2312"));
     42                     condition.Append("&keyword=" + keyWord);
     43                 }
     44                 condition.Append("&keywordtype=2");
     45 
     46                 url = url + condition.ToString();
     47                 string html = GetHtmlCode.GetByget(url, "gb2312");
     48                 GetJobInfoFromPage(html);
     49 
     50                 int pageCount = 0;
     51                 //页面数量
     52                 string pageCountRegexStr = "(?<=name="jobid_count"\s*?value=")\d+(?=">)";
     53                 Regex pageCountRegex = new Regex(pageCountRegexStr);
     54                 pageCount = (int.Parse(pageCountRegex.Match(html).Value) + 29) / 30;
     55 
     56                 for (int i = 2; i <= pageCount; i++)
     57                 {
     58                     string url0 = url + string.Format("&curr_page={0}", i);
     59                     html = GetHtmlCode.GetByget(url0, "gb2312");
     60                     GetJobInfoFromPage(html);
     61                 }
     62                 if (GetJobEnd != null)
     63                 {
     64                     GetJobEnd(null, null);
     65                 }
     66             }
     67             catch (Exception exMsg)
     68             {
     69                 throw new Exception(exMsg.Message);
     70             }
     71         }
     72 
     73         private void GetJobInfoFromPage(string pageStr)
     74         {
     75             try
     76             {
     77                 pageStr = Regex.Replace(pageStr, "\s", "");
     78                 //职位所有信息
     79                 string jobInfoRegexStr = "(?<=<trclass="tr0").+?(?=</tr>)";
     80                 Regex jobInfoRegex = new Regex(jobInfoRegexStr);
     81                 MatchCollection jobInfoMC = jobInfoRegex.Matches(pageStr);
     82                 //--
     83                 foreach (Match m in jobInfoMC)
     84                 {
     85                     if (m.Value.Contains(workAddress))
     86                     {
     87                         //职位URL
     88                         string urlRegexStr = "(?<=<aadid=""href=").+?(?=")";
     89                         string url0 = Regex.Match(m.Value, urlRegexStr).Value;
     90                         GetJobInfoFromUrl(url0);
     91                     }
     92                 }
     93             }
     94             catch (Exception exMsg)
     95             {
     96                 throw new Exception(exMsg.Message);
     97             }
     98         }
     99 
    100         // 正则表达式过滤:正则表达式,要替换成的文本
    101         private static readonly string[][] Filters =
    102         {
    103             new[] { @"(?is)<script.*?>.*?</script>", "" },
    104             new[] { @"(?is)<style.*?>.*?</style>", "" },
    105             new[] { @"(?is)<!--.*?-->", "" },    // 过滤Html代码中的注释
    106             new[] { @"(?is)<footer.*?>.*?</footer>",""},
    107             new[] { "(?is) <div style="470px; padding-left:5px;">.*?</div>",""},
    108             new[] { "(?is)<div id="top">.*?</iframe>    </div></div>",""},
    109             new[] { "(?is)<div class="grayline" id="announcementbody">.*?</li></ul>    </div>",""}
    110         };
    111 
    112         private void GetJobInfoFromUrl(string url)
    113         {
    114             try
    115             {
    116                 JobInfo info = new JobInfo();
    117                 //--
    118                 string pageStr = GetHtmlCode.GetByget(url, "gb2312");
    119                 if (string.IsNullOrEmpty(pageStr))
    120                 {
    121                     return;
    122                 }
    123                 //--
    124                 pageStr = pageStr.Replace("
    ", "");//替换换行符
    125                 // 获取html,body标签内容
    126                 string body = string.Empty;
    127                 string bodyFilter = @"(?is)<body.*?</body>";
    128                 Match m = Regex.Match(pageStr, bodyFilter);
    129                 if (m.Success)
    130                 {
    131                     body = m.ToString().Replace("<tr >", "<tr>").Replace("
    ", "");
    132                 }
    133                 // 过滤样式,脚本等不相干标签
    134                 foreach (var filter in Filters)
    135                 {
    136                     body = Regex.Replace(body, filter[0], filter[1]);
    137                 }
    138                 //--
    139                 if (!string.IsNullOrEmpty(mustKey) && !body.Contains(mustKey))
    140                 {
    141                     return;
    142                 }
    143                 body = Regex.Replace(body, "\s", "");
    144 
    145                 info.Url = url;
    146                 string basicInfoRegexStr0 = "<tdclass="sr_bt"colspan="2">(.*?)</td>"; //职位名称
    147                 string position = Regex.Match(body, basicInfoRegexStr0).Value;
    148                 if (string.IsNullOrEmpty(position))
    149                 {
    150                     basicInfoRegexStr0 = "<tdclass="sr_bt"colspan="3">(.*?)</td>";
    151                     position = Regex.Match(body, basicInfoRegexStr0).Value;
    152                 }
    153                 info.Position = string.IsNullOrEmpty(position) ? "" : position.Substring(position.IndexOf(">") + 1, position.IndexOf("</") - position.IndexOf(">") - 1);
    154 
    155                 string basicInfoRegexStr1 = ".html">(.*?)</a>";//公司名称 
    156                 string company = Regex.Match(body, basicInfoRegexStr1).Value;
    157                 info.Company = string.IsNullOrEmpty(company) ? "" : company.Substring(company.IndexOf(">") + 1, company.IndexOf("</a>") - company.IndexOf(">") - 1);
    158 
    159                 string basicInfoRegexStr2 = "工作地点:</td><tdclass="txt_2">(.*?)</td>";//工作地点
    160                 string address = Regex.Match(body, basicInfoRegexStr2).Value;
    161                 info.Address = string.IsNullOrEmpty(address) ? "" : address.Substring(address.IndexOf("">") + 2, address.LastIndexOf("</td>") - address.IndexOf("">") - 2);
    162 
    163                 string basicInfoRegexStr3 = "公司性质:</strong>&nbsp;&nbsp;(.*?)<br><br><strong>";//公司性质
    164                 string nature = Regex.Match(body, basicInfoRegexStr3).Value;
    165                 if (string.IsNullOrEmpty(nature))
    166                 {
    167                     basicInfoRegexStr3 = "公司行业:</strong>&nbsp;&nbsp;(.*?)<br><br><strong>";
    168                     nature = Regex.Match(body, basicInfoRegexStr3).Value;
    169                 }
    170                 info.Nature = string.IsNullOrEmpty(nature) ? "" : nature.Substring(26, nature.IndexOf("<br>") - 26);//公司性质
    171 
    172                 string basicInfoRegexStr4 = "公司规模:</strong>&nbsp;&nbsp;(.*?)</td>";//公司规模
    173                 string scale = Regex.Match(body, basicInfoRegexStr4).Value;
    174                 info.Scale = string.IsNullOrEmpty(scale) ? "" : scale.Substring(26, scale.IndexOf("</td>") - 26);
    175 
    176                 string basicInfoRegexStr5 = "工作年限:</td><tdclass="txt_2">(.*?)</td>";//工作经验
    177                 string experience = Regex.Match(body, basicInfoRegexStr5).Value;
    178                 info.Experience = string.IsNullOrEmpty(experience) ? "" : experience.Substring(experience.IndexOf("">") + 2, experience.LastIndexOf("</td>") - experience.IndexOf("">") - 2);
    179 
    180                 string basicInfoRegexStr6 = "学&nbsp;&nbsp;&nbsp;&nbsp;历:</td><tdclass="txt_2">(.*?)</td>";//学历
    181                 string education = Regex.Match(body, basicInfoRegexStr6).Value;
    182                 info.Education = string.IsNullOrEmpty(education) ? "" : education.Substring(education.IndexOf("">") + 2, education.LastIndexOf("</td>") - education.IndexOf("">") - 2);
    183 
    184                 string basicInfoRegexStr7 = "薪水范围:</td><tdclass="txt_2">(.*?)</td>";//月薪
    185                 string salary = Regex.Match(body, basicInfoRegexStr7).Value;
    186                 info.Salary = string.IsNullOrEmpty(salary) ? "" : salary.Substring(salary.IndexOf("">") + 2, salary.LastIndexOf("</td>") - salary.IndexOf("">") - 2); 
    187 
    188                 string basicInfoRegexStr8 = "发布日期:</td><tdclass="txt_2">(.*?)</td>";//发布时间
    189                 string time = Regex.Match(body, basicInfoRegexStr8).Value;
    190                 info.Time = string.IsNullOrEmpty(time) ? "" : time.Substring(time.IndexOf("">") + 2, time.LastIndexOf("</td>") - time.IndexOf("">") - 2); ;
    191 
    192                 if (GetJobEnd != null)
    193                 {
    194                     GetJobEnd(pageStr, info);
    195                 }
    196             }
    197             catch (Exception exMsg)
    198             {
    199                 throw new Exception(exMsg.Message);
    200             }
    201         }
    202     }

            以上这个类的作用是分别根据网址获取HTML内容,再根据正则表达式获取招聘相关信息,再通过函数截取相关字段的信息,再组装到前台界面,实现数据的显示,这个里面有一个逻辑就是动态每一条招聘信息的连接,再根据连接去获取HTML信息,相当于这中间有两层解析XML的过程。

    2.智联招聘

           智联招聘是我自己每次找工作的备选项,每次把前程无忧上的所有招聘信息全部看完后,就会在智联招聘上浏览下,感觉还挺不错的,不知各位园友有没有试下,不过会有很多与前程无忧是重复的招聘信息,所以还得靠自己去区分。

           下面介绍实现逻辑:

      1     public class JobFromZhiLian : IJob
      2     {
      3         #region 私有字段
      4         private string url = @"http://sou.zhaopin.com/Jobs/SearchResult.ashx?";
      5         /// <summary>
      6         /// 工作地点
      7         /// </summary>
      8         private string workAddress;
      9         /// <summary>
     10         /// 关键词
     11         /// </summary>
     12         private string keyWord;
     13         /// <summary>
     14         /// 工资范围
     15         /// </summary>
     16         private string upperSalary;
     17         /// <summary>
     18         /// 工资范围
     19         /// </summary>
     20         private string lowerSalary;
     21         /// <summary>
     22         /// 包含词
     23         /// </summary>
     24         private string mustKey;
     25         #endregion
     26 
     27         public JobFromZhiLian(string workAddress, string keyWord, string upperSalary, string lowerSalary, string mustKey)
     28         {
     29             this.workAddress = workAddress;
     30             this.keyWord = keyWord;
     31             this.upperSalary = upperSalary;
     32             this.lowerSalary = lowerSalary;
     33             this.mustKey = mustKey;
     34         }
     35 
     36         public event GetJobEndEventHandler GetJobEnd;
     37         public void GetJobInfoList()
     38         {
     39             try
     40             {
     41                 StringBuilder condition = new StringBuilder();
     42                 workAddress = HttpUtility.UrlEncode(workAddress, Encoding.GetEncoding("utf-8"));
     43                 condition.Append("jl=" + workAddress);
     44                 if (!string.IsNullOrEmpty(keyWord))
     45                 {
     46                     keyWord = HttpUtility.UrlEncode(keyWord, Encoding.GetEncoding("utf-8"));
     47                     condition.Append("&kw=" + keyWord);
     48                 }
     49                 condition.Append("&sm=1");
     50                 if (!string.IsNullOrEmpty(upperSalary))
     51                 {
     52                     condition.Append("&sf=" + upperSalary);
     53                 }
     54                 if (!string.IsNullOrEmpty(lowerSalary))
     55                 {
     56                     condition.Append("&st=" + lowerSalary);
     57                 }
     58 
     59                 url = url + condition.ToString();
     60                 string html = GetHtmlCode.GetByget(url, "utf-8");
     61                 GetJobInfoFromPage(html);
     62 
     63                 //页面数量
     64                 string pageCountRegexStr = "(?<=onkeypress="zlapply.searchjob.enter2Page\(this,event,)\d+";
     65                 Regex pageCountRegex = new Regex(pageCountRegexStr);
     66                 string pageCountStr = pageCountRegex.Match(html).Groups[0].Value;
     67                 int pageCount = 0;
     68                 int.TryParse(pageCountStr, out pageCount);
     69 
     70                 for (int i = 2; i <= pageCount; i++)
     71                 {
     72                     string url0 = url + string.Format("&p={0}", i);
     73                     html = GetHtmlCode.GetByget(url0, "utf-8");
     74                     GetJobInfoFromPage(html);
     75                 }
     76                 if (GetJobEnd != null)
     77                 {
     78                     GetJobEnd(null, null);
     79                 }
     80             }
     81             catch (Exception exMsg)
     82             {
     83                 throw new Exception(exMsg.Message);
     84             }
     85         }
     86 
     87 
     88         // 正则表达式过滤:正则表达式,要替换成的文本
     89         private static readonly string[][] Filters =
     90         {
     91             new[] { @"(?is)<script.*?>.*?</script>", "" },
     92             new[] { @"(?is)<style.*?>.*?</style>", "" },
     93             new[] { @"(?is)<!--.*?-->", "" }    // 过滤Html代码中的注释
     94         };
     95 
     96         private void GetJobInfoFromPage( string pageStr)
     97         {
     98             try
     99             {
    100                 JobInfo info = new JobInfo();
    101                 //--
    102                 if (string.IsNullOrEmpty(pageStr))
    103                 {
    104                     return;
    105                 }
    106                 //--
    107                 pageStr = pageStr.Replace("
    ", "");//替换换行符
    108                 // 获取html,body标签内容
    109                 string body = string.Empty;
    110                 string bodyFilter = @"(?is)<body.*?</body>";
    111                 Match m = Regex.Match(pageStr, bodyFilter);
    112                 if (m.Success)
    113                 {
    114                     body = m.ToString().Replace("<tr >", "<tr>").Replace("
    ", "");
    115                 }
    116                 // 过滤样式,脚本等不相干标签
    117                 foreach (var filter in Filters)
    118                 {
    119                     body = Regex.Replace(body, filter[0], filter[1]);
    120                 }
    121                 ////--
    122                 //if (!string.IsNullOrEmpty(mustKey) && !body.Contains(mustKey))
    123                 //{
    124                 //    return;
    125                 //}
    126                 body = Regex.Replace(body, "\s", "");
    127                 bodyFilter = "(?is)<divclass="newlist_list_content"id="newlist_list_content_table">.*?</dd></dl></div></div></div>";
    128                 Match m1 = Regex.Match(body, bodyFilter);
    129                 if (m1.Success)
    130                 {
    131                     body = m1.ToString();
    132                 }
    133 
    134 
    135 
    136 
    137                 //info.Url = xurl;
    138 
    139                 if (GetJobEnd != null)
    140                 {
    141                     GetJobEnd(pageStr, info);
    142                 }
    143 
    144                 //pageStr = Regex.Replace(pageStr, "\s|&nbsp;|<br>|<strong>|</strong>|<b>|</b>", "");
    145                 ////职位所有信息
    146                 //string jobInfoRegexStr = "(?<=<tableclass="search-result-tab">)[\S\s]+?(?=</table>)";
    147                 //Regex jobInfoRegex = new Regex(jobInfoRegexStr);
    148                 //MatchCollection jobInfoMC = jobInfoRegex.Matches(pageStr);
    149                 //foreach (Match m in jobInfoMC)
    150                 //{
    151                 //    if (!string.IsNullOrEmpty(mustKey) && !m.Value.Contains(mustKey))
    152                 //    {
    153                 //        return;
    154                 //    }
    155 
    156                 //    JobInfo info = new JobInfo();
    157 
    158                 //    //职位名称,url和公司名称
    159                 //    string basicInfoRegexStr = "(?<=<ahref=")([\w.:+?()/%=#&]+)"target="_blank".*?>([\s\S]+?)(?=</a>)";
    160                 //    //地点、公司性质、公司规模、经验、学历、职位月薪
    161                 //    string basicInfoRegexStr0 = "(?<=地点:)[-/\w]+(?=</span>)";
    162                 //    string basicInfoRegexStr1 = "(?<=公司性质:)[-/\w]+(?=</span>)";
    163                 //    string basicInfoRegexStr2 = "(?<=公司规模:)[-/\w]+(?=</span>)";
    164                 //    string basicInfoRegexStr3 = "(?<=经验:)[-/\w]+(?=</span>)";
    165                 //    string basicInfoRegexStr4 = "(?<=学历:)[-/\w]+(?=</span>)";
    166                 //    string basicInfoRegexStr5 = "(?<=职位月薪:)[-/\w]+(?=</span>)";
    167                 //    //发布时间
    168                 //    string timeInfoRegexStr = "(?<=releasetime">)\d{1,2}-\d{1,2}-\d{1,2}";
    169 
    170                 //    Regex basicInfoRegex = new Regex(basicInfoRegexStr);
    171                 //    MatchCollection basicInfoMC = basicInfoRegex.Matches(m.Value);
    172                 //    info.Url = basicInfoMC[0].Groups[1].Value;
    173                 //    info.Position = basicInfoMC[0].Groups[2].Value;
    174                 //    info.Company = basicInfoMC[1].Groups[2].Value;
    175                 //    Regex basicInfoRegex0 = new Regex(basicInfoRegexStr0);
    176                 //    info.Address = new Regex(basicInfoRegexStr0).Match(m.Value).Value;
    177                 //    info.Nature = new Regex(basicInfoRegexStr1).Match(m.Value).Value;
    178                 //    info.Scale = new Regex(basicInfoRegexStr2).Match(m.Value).Value;
    179                 //    info.Experience = new Regex(basicInfoRegexStr3).Match(m.Value).Value;
    180                 //    info.Education = new Regex(basicInfoRegexStr4).Match(m.Value).Value;
    181                 //    info.Salary = new Regex(basicInfoRegexStr5).Match(m.Value).Value;
    182                 //    Regex timeInfoRegex = new Regex(timeInfoRegexStr);
    183                 //    info.Time = timeInfoRegex.Match(m.Value).Value;
    184 
    185 
    186                 //    if (GetJobEnd != null)
    187                 //    {
    188                 //        GetJobEnd(pageStr, info);
    189                 //    }
    190                 //}
    191             }
    192             catch (Exception exMsg)
    193             {
    194                 throw new Exception(exMsg.Message);
    195             }
    196         }
    197     }

           以上为智联招聘解析HTML相关类,以上逻辑中正则表达式还在完善中,还未完全实现成功,正则表达式还有问题。

    3.猎聘网

            猎聘网也是最近一两年才兴起的,這个网站上基本上都是很多猎头发布的信息,开的工资大多是都是十多二十万年薪的岗位,只要你具备這个实力可以去這个网站看看,应该会有所收获的,不过這个网站也有部分企业自己发布的招聘信息,如果前面两个网站都没有看到自己满意的求职信息,那么這个网站也可以是自己求职的一个补充,不知各位博友是不是支持我这种观点。

           下面介绍实现逻辑:

      1     public class JobFromLiePin : IJob
      2     {
      3         #region * 私有字段
      4         private string url = @"http://www.liepin.com/zhaopin/?";
      5 
      6         //基本信息
      7         private string basicInfoRegexStr = "<a title=[\s\S]+?</a>";
      8         
      9         /// <summary>
     10         /// 工作地点
     11         /// </summary>
     12         private string workAddress;
     13         /// <summary>
     14         /// 工作地点ID
     15         /// </summary>
     16         private string workAddressId;
     17         /// <summary>
     18         /// 关键词
     19         /// </summary>
     20         private string keyWord;
     21         /// <summary>
     22         /// 包含词
     23         /// </summary>
     24         private string mustKey;
     25         #endregion
     26 
     27         public JobFromLiePin(string workAddress, string workAddressId, string keyWord, string mustKey)
     28         {
     29             this.workAddress = workAddress;
     30             this.workAddressId = workAddressId;
     31             this.keyWord = keyWord;
     32             this.mustKey = mustKey;
     33         }
     34 
     35         public event GetJobEndEventHandler GetJobEnd;
     36         public void GetJobInfoList()
     37         {
     38             try
     39             {
     40                 StringBuilder condition = new StringBuilder();
     41                 condition.AppendFormat("dqs={0}", workAddressId);
     42                 condition.Append("&searchField=3");
     43                 if (!string.IsNullOrEmpty(keyWord))
     44                 {
     45                     keyWord = HttpUtility.UrlEncode(keyWord, Encoding.GetEncoding("utf-8"));
     46                     condition.Append("&key=" + keyWord);
     47                 }
     48                 condition.Append("&pubTime=30");
     49                 string xurl = string.Empty;
     50                 for (int i = 0; i < 100; i++)
     51                 {
     52                     if (i > 0)
     53                     {
     54                         xurl = url + condition.ToString() + "&curPage=" + i;
     55                     }
     56                     else
     57                     {
     58                         xurl = url + condition.ToString();
     59                     }
     60                     string html = GetHtmlCode.GetByget(xurl, "utf-8");
     61                     if (string.IsNullOrEmpty(html))
     62                     {
     63                         break;
     64                     }
     65                     GetJobInfoFromPage(html);
     66                 }
     67             }
     68             catch (Exception exMsg)
     69             {
     70                 throw new Exception(exMsg.Message);
     71             }
     72         }
     73 
     74         private void GetJobInfoFromPage(string pageStr)
     75         {
     76             try
     77             {
     78                 MatchCollection ms = Regex.Matches(pageStr, basicInfoRegexStr);
     79                 //--url
     80                 string urlRegex = "(?<=href=")([\w.:+?()/%=#&]+)";
     81                 //--
     82                 foreach (Match m in ms)
     83                 {
     84                     if (m.Value.Contains(workAddress))
     85                     {
     86                         string url0 = Regex.Match(m.Value, urlRegex).Value;
     87                         GetJobInfoFromUrl(url0);
     88                     }
     89                 }
     90                 if (GetJobEnd != null)
     91                 {
     92                     GetJobEnd(null, null);
     93                 }
     94             }
     95             catch (Exception exMsg)
     96             {
     97                 throw new Exception(exMsg.Message);
     98             }
     99         }
    100 
    101         // 正则表达式过滤:正则表达式,要替换成的文本
    102         private static readonly string[][] Filters =
    103         {
    104             new[] { @"(?is)<script.*?>.*?</script>", "" },
    105             new[] { @"(?is)<style.*?>.*?</style>", "" },
    106             new[] { @"(?is)<!--.*?-->", "" },    // 过滤Html代码中的注释
    107             new[] { @"(?is)<footer.*?>.*?</footer>",""},
    108             //new[] { "(?is)<div class="job-require bottom-job-require">.*?</div></div>",""}
    109             new[] { @"(?is)<h3>常用链接:.*?</ul>",""}
    110         };
    111 
    112         private void GetJobInfoFromUrl(string url)
    113         {
    114             try
    115             {
    116                 JobInfo info = new JobInfo();
    117                 //--
    118                 string pageStr = GetHtmlCode.GetByget(url, "utf-8");
    119                 if (string.IsNullOrEmpty(pageStr))
    120                 {
    121                     return;
    122                 }
    123                 //--
    124                 pageStr = pageStr.Replace("
    ", "");//替换换行符
    125                 // 获取html,body标签内容
    126                 string body = string.Empty;
    127                 string bodyFilter = @"(?is)<body.*?</body>";
    128                 Match m = Regex.Match(pageStr, bodyFilter);
    129                 if (m.Success)
    130                 {
    131                     body = m.ToString().Replace("<tr >", "<tr>").Replace("
    ", "");
    132                 }
    133                 // 过滤样式,脚本等不相干标签
    134                 foreach (var filter in Filters)
    135                 {
    136                     body = Regex.Replace(body, filter[0], filter[1]);
    137                 }
    138                 //--
    139                 if (!string.IsNullOrEmpty(mustKey) && !body.Contains(mustKey))
    140                 {
    141                     return;
    142                 }
    143                 body = Regex.Replace(body, "\s", "");
    144 
    145                 info.Url = url;
    146 
    147                 string basicInfoRegexStr0 = "<h1title=([\s\S]+?)>(.*?)</h1>"; //职位名称
    148                 string position = Regex.Match(body, basicInfoRegexStr0).Value;
    149                 info.Position = string.IsNullOrEmpty(position) ? "" : position.Substring(position.IndexOf(">") + 1, position.IndexOf("</") - position.IndexOf(">") - 1);//职位名称
    150 
    151                 string basicInfoRegexStr1 = "</h1><h3>(.*?)</h3>";//公司名称
    152                 string company = Regex.Match(body, basicInfoRegexStr1).Value;
    153                 info.Company = string.IsNullOrEmpty(company) ? "" : company.Substring(company.IndexOf("<h3>") + 4, company.IndexOf("</h3>") - company.IndexOf("<h3>") - 4);//公司名称
    154 
    155                 string basicInfoRegexStr2 = "<divclass="resumeclearfix"><span>(.*?)</span>";//工作地点
    156                 string address = Regex.Match(body, basicInfoRegexStr2).Value;
    157                 info.Address = string.IsNullOrEmpty(address) ? "" : address.Substring(address.IndexOf("<span>") + 6, address.IndexOf("</") - address.IndexOf("<span>") - 6);//工作地点
    158 
    159                 string basicInfoRegexStr3 = "<li><span>企业性质:</span>(.*?)</li>";//公司性质
    160                 string nature = Regex.Match(body, basicInfoRegexStr3).Value;
    161                 info.Nature = string.IsNullOrEmpty(nature) ? "" : nature.Substring(nature.IndexOf("</span>") + 7, nature.IndexOf("</li>") - nature.IndexOf("</span>") - 7);//公司性质
    162 
    163                 if (string.IsNullOrEmpty(info.Nature))
    164                 {
    165                     string basicInfoRegexStr3_1 = "<br><span>性质:</span>(.*?)<br>";
    166                     string nature_1 = Regex.Match(body, basicInfoRegexStr3_1).Value;
    167                     info.Nature = string.IsNullOrEmpty(nature_1) ? "" : nature_1.Substring(nature_1.IndexOf("</span>") + 7, nature_1.LastIndexOf("<br>") - nature_1.IndexOf("</span>") - 7);//公司性质
    168                 }
    169 
    170                 string basicInfoRegexStr4 = "<li><span>企业规模:</span>(.*?)</li>";//公司规模
    171                 string scale = Regex.Match(body, basicInfoRegexStr4).Value;
    172                 info.Scale = string.IsNullOrEmpty(scale) ? "" : scale.Substring(scale.IndexOf("</span>") + 7, scale.IndexOf("</li>") - scale.IndexOf("</span>") - 7);//公司规模
    173 
    174                 if (string.IsNullOrEmpty(info.Scale))
    175                 {
    176                     string basicInfoRegexStr4_1 = "<br><span>规模:</span>(.*?)<br>";
    177                     string scale_1 = Regex.Match(body, basicInfoRegexStr4_1).Value;
    178                     info.Scale = info.Nature = string.IsNullOrEmpty(scale_1) ? "" : scale_1.Substring(scale_1.IndexOf("</span>") + 7, scale_1.LastIndexOf("<br>") - scale_1.IndexOf("</span>") - 7);//公司规模
    179                 }
    180 
    181                 string basicInfoRegexStr5 = "<spanclass="noborder">(.*?)</span>";//工作经验
    182                 string experience = Regex.Match(body, basicInfoRegexStr5).Value;
    183                 info.Experience = string.IsNullOrEmpty(experience) ? "" : experience.Substring(experience.IndexOf(">") + 1, experience.IndexOf("</") - experience.IndexOf(">") - 1);//工作经验
    184 
    185                 string basicInfoRegexStr6 = "</span><span>(.*?)</span><spanclass="noborder">";//最低学历
    186                 string education = Regex.Match(body, basicInfoRegexStr6).Value;
    187                 info.Education = string.IsNullOrEmpty(education) ? "" : education.Substring(education.IndexOf("<span>") + 6, education.IndexOf("</span><spanclass=") - education.IndexOf("<span>") - 6);//最低学历
    188 
    189                 string basicInfoRegexStr7 = "<pclass="job-main-title">(.*?)<";//月薪
    190                 string salary = Regex.Match(body, basicInfoRegexStr7).Value;
    191                 info.Salary = string.IsNullOrEmpty(salary) ? "" : salary.Substring(salary.IndexOf(">") + 1, salary.LastIndexOf("<") - salary.IndexOf(">") - 1);//月薪
    192 
    193                 string timeInfoRegexStr = "<pclass="release-time">发布时间:<em>(.*?)</em></p>";//发布时间
    194                 string time = Regex.Match(body, timeInfoRegexStr).Value;
    195                 info.Time = string.IsNullOrEmpty(time) ? "" : time.Substring(time.IndexOf("<em>") + 4, time.IndexOf("</em>") - time.IndexOf("<em>") - 4);//发布时间
    196 
    197                 if (GetJobEnd != null)
    198                 {
    199                     GetJobEnd(pageStr, info);
    200                 }
    201             }
    202             catch (Exception exMsg)
    203             {
    204                 throw new Exception(exMsg.Message);
    205             }
    206         }
    207     }

    以上为解析猎聘网招聘信息的类。以下为猎聘网解析出的数据:

     

    后记

            个人在整个开发过程中遇到最大的难点还是利用正则表达式提取HTML相关字段的信息,这个对于我来说是最大的难题,因为我对正则表达式不是很熟,所以在这个过程是非常痛苦的,也许现在用到的正则表达式不是最好的,还望园友提出更好的解决方案,或则指出正则表达式的问题,这个程序最大的难题就在这里,如有兴趣一起加QQ群:(186841119),参与谈论和学习交流,源码也会在这个群空间共享。

  • 相关阅读:
    2020.4.21 考试T1 HDU 5729
    BZOJ 4198: [Noi2015]荷马史诗
    BZOJ 1052: [HAOI2007]覆盖问题
    BZOJ 1087: [SCOI2005]互不侵犯King
    BZOJ 4466 线性函数
    Linux如何挂载U盘
    集中式日志分析平台
    ELK5.2+kafka+zookeeper+filebeat集群部署
    浅析ES的_source、_all、store、index
    IndexOf、LastIndexOf、Substring的用法
  • 原文地址:https://www.cnblogs.com/luoyuhao/p/4123508.html
Copyright © 2020-2023  润新知