Skip to content

ทำเว็บแปลคำศัพท์อังกฤษเป็นไทยด้วย 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 ทำการประมวลผลต่อไปครับ 😀

<!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>

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

#!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

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

Published on Categories web-developerTags

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

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

  1. wannaphong

    สำหรับท่านที่มีปัญหากลายเป็นปัญหาต่างดาว ให้เปลี่ยนบรรทัด

    print("<title>แปลคำว­่า %s</title>" % (word))

    เป็น

    print(" <meta charset='UTF-8'><tit­le>แปลคำว­่า %s</title>" % (word))

    ครับ สาเหตุ เพราะอาจมีการเข้ารหัสเว็บผิดพลาดได้ครับ

    Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *