基于百度翻译的爬虫(二):页面篇

412 阅读2分钟

在这一篇文章里,我将通过一个开源的HTML页面再去进行修改,来达到我们的使用要求,最终的目的是学会我们如何使用网页,来达到自己的需求.

首先,我们的环境是Python3,并且之间会用web框架:tornado和request请求页面.

第一步:我们的固定写法,写一个逻辑处理模块

首先,我们导入tornado模块:

from tornado import web,ioloop,httpserver

然后我们再引入tornado的固定格式:

#逻辑处理模块
	class MainPageHandler(web.RequestHandler):
    	def get(self, *args, **kwargs):
        self.write('欢迎大家使用这个页面')
        
	#路由        
	application = web.Application([
          	  (r"/", MainPageHandler),
        		])

	#socket服务
	if __name__ == '__main__':

        		http_server = httpserver.HTTPServer(application)
        		http_server.listen(8080)
        		ioloop.IOLoop.current().start()

上边这些都是使用tornado的固定格式,我们使用的时候只需要进行简单的修改就好,这也就是模块化开发的魅力和高效率.

第二步:返回一个页面

在这里,我们引入Free Bootstrap Admin Template | AdminLTE.IO,这样的一个模块

这个模块是基于Bootstrap 3进行自定义后的一个开源模块,这个模块的响应式布局做的很不错,可以用一下,在这里我进行了修改,在GitHub文件里有index和search.html两个文件,这个index是可以用,但是search.html是未来写匹配的时候用的,现在我们先不用它.

#逻辑处理模块
class MainPageHandler(web.RequestHandler):
    def get(self, *args, **kwargs):
       self.render('index.html')

第三步:套模板

1:规范模板的路径,设置静态文件路径

因为这个页面中有很多的动态组件,所以我们要进行写好静态组件的位置方便之后进行引用.

#设置
settings = {
    'template_path':'template',
    'static_path':'static',
}

第四部:前端提交数据给后端

在html中,from是HTML的一个标签,是专门用来提交数据的.在我们的index.html的文件里

<form class="form-horizontal" method="post" action="/search">

method是方法,这个index是post方法

action是路径,这个index的路径是/search

<input type="text" class="form-control" name="word" id="inputEmail3" placeholder="请输入需要查询的单词">

这是网页中的输入框,其中name就是这个输入框的名字,我们在输入单词的时候,我们应该传入到后台,然后在进行查询.

#处理前端传入的Word(跟页面对应)
class SearchWordHandler(web.RequestHandler):
    def post(self, *args, **kwargs):
        #获取前端的参数
        word = self.get_argument('word')
        print(word)

这时候,我们运行代码,并且在页面上输入想要查询的单词,我们就可以在后台读取数据了.

基本思路是:

最终效果如下:

项目代码:

yunshizhijian/translation_toolsgithub.com图标