用Python来学外语

缘起

看到有人在里面谈起从事兼职的事情,忽然之间就觉得自己不能放下曾经学过的知识,特别是目前不常用的语言——英语。和中文一样,常用的字词应该是不多的,而本身,我又对编程略感兴趣,所以,看编程文档学英语结合起来,其实也是不错的,兴趣是学习的动力嘛。

障碍

太久没有看英语,很多单词啃不动,所以,需要借助工具来帮忙。

环境介绍

Windows XP Professional 32位 + Python2.7.x

结果

#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests,re
from bs4 import BeautifulSoup

def en2zh(word):
     url = 'http://fanyi.baidu.com/v2transapi'
     headers = {
    'Host':'fanyi.baidu.com',
    'Content-Length':'65',
    'Accept':'*/*',
    'Origin':'http://fanyi.baidu.com',
    'X-Requested-With':'XMLHttpRequest',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
    'Content-Type':'application/x-www-form-urlencoded; ',
    'Referer':'http://fanyi.baidu.com/',
    }
    data = {
    'from':'en',
    'to':'zh',
    'query':word,
    'transtype':'realtime',
    'simple_means_flag':'3',
    }
    r = requests.post(url,headers=headers,data=data)
    #print r.json()
    zh = r.json()['trans_result']['data'][0]['dst']
    en = word
    print en ,'--->' ,zh

def get_words(url):
    headers = {'User-Agent': "Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0"}
    r = requests.get(url = url, headers = headers)
    Response = r.content
    soup = BeautifulSoup(Response, 'html.parser')
    content = soup.body.get_text()
    parse_word_reg = re.compile('([a-zA-Z]{3,})')
    words = parse_word_reg.findall(content)
    words = list(set(words))  #set() 去掉重复的
    return words

if __name__ == '__main__':
    url = 'http://webpy.org/docs/0.3/templetor'
    words = get_words(url)
    for word in words:
        en2zh(word)

运行结果

用Python来学外语_第1张图片

结语

第一次用和Markdown写,感觉好陌生 ^ _^

你可能感兴趣的:(用Python来学外语)