w

# -*- coding: utf-8 -*-
import pycurl
import re
import cStringIO
from pypinyin import lazy_pinyin import sys, locale buf = cStringIO.StringIO() GRAB_URL = 'http://www.gov.cn/test/2011-08/22/content_1930111.htm' c = pycurl.Curl()
c.setopt(c.HTTPHEADER, ['Accept-Charset: UTF-8'])
c.setopt(c.URL, GRAB_URL)
c.setopt(c.WRITEFUNCTION, buf.write)
c.perform() grab_data = buf.getvalue().decode('utf-8')
tmp_list = re.findall(r"\d{3}[^0]0{2}.*<", grab_data)
# 词尾一样
shi_dic = {}
# 词头一样
shi_dic_head = {}
for i in tmp_list:
tmp = i.split(' ')
city = tmp[1].split('<')
try:
shi_exist = city[0].index(u'市')
if shi_exist > 1:
# 深圳市
shi_tail = city[0].split(u'市')
# 深圳
shi = shi_tail[0]
shi_pinyin = lazy_pinyin(shi)
tail_pinyin = shi_pinyin[-1]
head_pinyin = shi_pinyin[0]
if shi_dic.has_key(tail_pinyin):
shi_dic[tail_pinyin].append(shi)
else:
shi_dic[tail_pinyin] = [shi] if shi_dic_head.has_key(head_pinyin):
shi_dic_head[head_pinyin].append(shi)
else:
shi_dic_head[head_pinyin] = [shi]
else:
continue
except Exception, e:
# print Exception, ":", e
continue def letsgo():
info = raw_input(u'请输入,如“深圳”:'.encode('utf-8')).decode(sys.stdin.encoding or locale.getpreferredencoding(True)) info_pinyin = lazy_pinyin(info)
info_shi_pinyin = info_pinyin[-1]
flag = 1
# if shi_dic.has_key(info_shi_pinyin):
# flag = 0
# for i in shi_dic[info_shi_pinyin]:
# print i
if shi_dic_head.has_key(info_shi_pinyin):
flag = 0
for i in shi_dic_head[info_shi_pinyin]:
print i
if flag == 1:
print "输入字符串非法"
die = raw_input(u'如继续,请输入go,如结束请输入其他')
if die == 'go':
letsgo()
else:
print '程序已经退出' letsgo()

  

最新文章

  1. [Android] Android统计Apk , jar包方法数
  2. CentOS6.8下部署Zabbix3.0
  3. nginx web加密访问
  4. java Web应用配置log4j日志记录
  5. [SQL]SQL语言入门级教材_SQL数据操作基础(二)
  6. C# 之 集合整理
  7. Python相关书籍推荐
  8. VC6项目移植到VS2008的若干问题——好的代码,从我做起,从如今做起。
  9. WinRAR5.01注册码附注册机
  10. python爬取大众点评
  11. 用SpeedFan来控制CPU风扇转速
  12. navicat里导入和导出.sql文件
  13. Apache 流框架 Flink,Spark Streaming,Storm对比分析(一)
  14. Mac spotlight无法搜索的解决方法
  15. js中的数组方法
  16. C#学习-类的成员
  17. oracle ocp视频教程笔记
  18. django基础 -- 4. 模板语言 过滤器 模板继承 FBV 和CBV 装饰器 组件
  19. 使用Karma、Mocha实现vue单元测试
  20. 安装Python模块:pygame

热门文章

  1. oracle--单行函数和多行函数
  2. 教你使用Python制作酷炫二维码
  3. (前篇:NIO系列 推荐阅读) Java NIO 底层原理
  4. 搜索(BFS)---完美平方数
  5. vue.js(18)--父组件向子组件传值
  6. 行人重识别(ReID) ——数据集描述 Market-1501
  7. Linux 查找指定内容在哪个文件中
  8. Java 多态概念、使用
  9. [python 学习]正则表达式
  10. ORM多表操作上