简单爬虫进行拼音转汉字

论坛里面有人用想用搜索引擎进行拼音转汉字。

目前已经有了百度的代码,就是要修改为google。

很简单的东西,用urllib2+beautifulsoup就是分分钟的事情,但是考虑到这个哥们估计不会安装beautifulsoup,所以还是用re来解决:

#!/usr/bin/env python
# -*- coding: utf_8 -*-

import re
from urllib2 import Request, urlopen

headers = {
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language':'en-US,en;q=0.8,zh-TW;q=0.6,zh;q=0.4,ja;q=0.2',
    'Cache-Control':'max-age=0',
    'Connection':'keep-alive',
    'DNT':'1',
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',
}  
url_base = "https://www.google.co.jp/search?site=&source=hp&q=%s&oq=%s"

def getpage(url):
    response = urlopen(Request(url = url,headers = headers), timeout = 60) 
    return response.read()

def han(keyword):
    page = getpage(url_base % (keyword, keyword))
    result = re.findall('<a class="spell" href=.*?><em>(.*?)</em></a>', page) 
    ret = result[0] if len(result)>0 else ""
    return ret

def getwords(input_file):
    with open(input_file) as f:
        raw_text = f.readlines()
    return [i.strip() for i in raw_text]


if __name__ == "__main__":
    input_file  = '三拼四拼.txt'
    output_file = input_file.replace('.txt','_cn.txt')
    words = getwords(input_file)

    with open(output_file, 'w') as f:
        for word in words:
            cn = han(word)
            print '%s:%s\n'% (word, cn)
            f.write('%s:%s\n'% (word, cn))
    print '\n Done.'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,615评论 25 709
  • 最近事情又开始多个,另外整个人的状态欠佳,复习节奏把握的不好,这次把消化和内分泌一起发一遍,最近主要复习精力放在了...
    雕兄_KYP阅读 414评论 6 7
  • 高中的时候分文理科,家长让我自己选择。“只要你以后不要后悔。”他们这样说。 那是我人生的第一次重要选择。那段时间总...
    阿瞳正传阅读 367评论 0 0
  • 10.16-10.22周检视 陈静-亦步亦趨3.0践行者 简书作者 2017.10.22 20:08 打开App ...
    歲月靜好1阅读 135评论 0 0