2 เมษายน 2558

Published เมษายน 02, 2558 by with 0 comment

ทำเว็บแปลคำศัพท์อังกฤษเป็นไทยด้วย Python CGI + Apache

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปทำเว็บแปลคำศัพท์อังกฤษเป็นไทยด้วย Python CGI + Apache กันครับ

ก่อนอ่านบทความนี้ ผมแนะนำให้ผู้อ่านทำความรู้จักับ Python CGI ก่อนครับ โดยสามารถอ่านได้ที่ https://python3.wannaphong.com/tag/cgi ครับ

สิ่งแรกที่ต้องทำ คือ ตั้งค่า Python กับ  Apache ก่อนครับ โดยทำตามบทความนี้ ใช้ CGI ใน Python และวิธีตั้งค่ากับ Apache ครับ

เมื่อตั้งค่าเสร็จ ผมได้ใช้ฐานข้อมูลคำศัพท์ของ LEXiTRON แปลงเป็น Sqlite โหลดฐานข้อมูลได้จากบทความนี้ครับ https://python3.wannaphong.com/2014/08/เขียนโปรแกรมแปลภาษา-dictionary-บ.html

เมื่อได้ฐานข้อมูลกับตั้งค่า Python กับ  Apache แล้ว ผมลงมือเขียนโค้ดฟอร์ม HTML สำหรับใช้รับค่าจากคีย์บอร์ดแล้วจึงจะส่งไปให้ Python ทำการประมวลผลต่อไปครับ :D

[html]
<!DOCTYPE html>
<html>
<head lang="th">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<H1>แปลคำศัพท์ อังกฤษ เป็น ไทย</H1>
<form action="find.py" method="get">
Word: <input type="text" name="word"> <br />
<input type="submit" value="Submit" />
</body>
</html>
[/html]

เสร็จแล้ว ผมก็เขียนโค้ดไฟล์ find.py ต่อครับ

[python]
#!C:\Python34\python.exe

import cgi
import cgitb
form = cgi.FieldStorage() # กำนหนดค่าแทน FieldStorage
word = form.getvalue('word') #รับค่าจาก word ที่ส่งมาทาง GET โดยเก็บค่าที่ได้ไว้ในตัวแปร word
print("Content-type:text/html")
import sqlite3
conn = sqlite3.connect('lexitron.db') #ติดต่อกับฐานข้อมูล
c = conn.cursor()
a = c.execute("SELECT * FROM eng2thai WHERE esearch='%s'" % (word)) #คิวฐานข้อมูล
#print("Content-type:text/htmlrnrn")
cgitb.enable()
print("""
<html>
<head>""") #เริ่มต้นภาษา html
print("<title>แปลคำว่า %s</title>" % (word))
print("""</head>
<body>
<h1>แปลคำว่า %s</h1>""" % (word))
for row in a: #ลูปฐานข้อมูล
print("<b>คำค้นหา</b> = ",row[1]) #ลูปฐานข้อมูลตามแถวที่กำหนด
print("<br /><b>eentry</b> = ",row[2])
print("<br /><b>คำแปล<b> = ",row[3])
print("<br /><b>ลักษณะคำ</b> = ",row[4])
print("<br /><b>ความหมายเหมือน</b> = ",row[5])
print("<br /><b>esyn</b> = ",row[6])
print("<br /><b>eant</b> = ",row[7])
print("<hr />")
print("""
<h4>พัฒนาด้วย Python</h4></body>
</html>
""")
[/python]

เมื่อลองรัน
หน้าฟอร์มรับข้อมูล
เว็บแปลคำศัพท์อังกฤษเป็นไทยที่สร้างด้วย Python

โหลดโค้ดตัวอย่างได้ที่ http://bit.ly/1OZuf3E
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)