Study Pylons Two

本文介绍如何使用Pylons框架快速搭建一个简单的网页爬虫应用,包括配置数据库、创建模型、视图及控制器等步骤。

1. paster create --template=pylons minispider
2. MySQL,建立数据库minispider

CREATE   TABLE  minispider.titleinfo
( id 
INTEGER  UNSIGNED  NOT   NULL  AUTO_INCREMENT,
  link 
VARCHAR ( 255 NOT   NULL   DEFAULT   '' ,
  description 
VARCHAR ( 255 NOT   NULL   DEFAULT   '' ,
  sitename 
VARCHAR ( 255 NOT   NULL   DEFAULT   '' ,
  updatetime 
TIMESTAMP   NOT   NULL   DEFAULT   0 ,
  
PRIMARY   KEY (id)
)


3. The Model
1) 修改development.ini,代码如下:

 1 #
 2 #  minispider - Pylons development environment configuration
 3 #
 4 #  The %(here)s variable will be replaced with the parent directory of this file
 5 #
 6 [DEFAULT]
 7 debug  =  true
 8 email_to  =  you@yourdomain.com
 9 smtp_server  =  localhost
10 error_email_from  =  paste@localhost
11
12 [server:main]
13 use  =  egg:Paste # http
14 host  =   0.0 . 0.0
15 port  =   5000
16
17 [app:main]
18 use  =  egg:minispider
19 cache_dir  =   % (here)s / data
20 session_key  =  minispider
21 session_secret  =  somesecret
22
23 #  If you'd like to fine-tune the individual locations of the cache data dirs
24 #  for Myghty, the Cache data, or the Session saves, un-comment the desired
25 #  settings here:
26 # myghty_data_dir = %(here)s/data/templates
27 # cache_data_dir = %(here)s/data/cache
28 # session_data_dir = %(here)s/data/sessions
29
30 #  Specify the database for SQLObject to use via pylons.database.PackageHub.
31 #  %(here) may include a ':' character on Windows environments; this can
32 #  invalidate the URI when specifying a SQLite db via path name. Refer to the
33 #  SQLObject documentation for a special syntax to preserve the URI.
34 # sqlobject.dburi = sqlite:%(here)s/somedb.db
35 sqlobject.dburi  =  mysql: // root: 123456 @localhost: 3306 / minispider
36
37 #  WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
38 #  Debug mode will enable the interactive debugging tool, allowing ANYONE to
39 #  execute malicious code after an exception is raised.
40 # set debug = false

第35行为添加的部分。
2)在models目录下,建立msmodel.py,代码如下:

from  sqlobject  import   *
from  pylons.database  import  PackageHub
hub 
=  PackageHub( " minispider " )
__connection__   =  hub

class  titleinfo(SQLObject):
    link 
=  StringCol(length = 255 )
    description 
=  StringCol(length = 255 )
    sitename 
=  StringCol(length = 255 )
    updatetime 
=  DateTimeCol()

修改__init__.py,代码如下:

# # NOTE
#
#   If you plan on using SQLObject, the following should be un-commented and provides
#
#   a starting point for setting up your schema

# from sqlobject import *
#
from pylons.database import PackageHub
#
hub = PackageHub("minispider")
#
__connection__ = hub

#  You should then import your SQLObject classes
#
 from myclass import MyDataClass
from  msmodel  import  titleinfo


4.The view
在templates文件夹下建立ms文件夹,在ms文件中建立list.myt,代码如下:

< html >
< head >
< title > Generated by Mini Spider v0. 1 </ title >
</ head >
< body >
< table width = " 80% "   border = " 0 " >
  
< tr >
    
< td width = " 60% " >< strong > What </ strong ></ td >
    
< td width = " 20% " >< strong > Where </ strong ></ td >
    
< td width = " 20% " >< strong > When </ strong ></ td >
  
</ tr >
%   for  ti  in  c.titleinfo:
  
< tr >
    
< td >< a href = " <% ti.link %> "  target = " _blank " ><%  ti.description  %></ a ></ td >
    
< td ><%  ti.sitename  %></ td >
    
< td ><%  ti.updatetime  %></ td >
  
</ tr >
%   # endfor
</ table >
</ body >
</ html >

务必注意代码的缩进!浪费了偶半个多小时!

5.The controller
命令行运行:
cd minispider
paster controller ms
将controllers文件夹下ms.py修改,代码如下:

from  minispider.lib.base  import   *

class  MsController(BaseController):
        
  template_prefix 
=   ' /ms '
        
  
def  index(self):
    redirect_to(action
= ' list ' )
        
  
def  list(self):
    c.titleinfo 
=  list(model.titleinfo.select())
    
return  render_response(self.template_prefix  +   ' /list.myt ' )


6. run
命令行运行:
paster serve --reload development.ini
ok,访问:http://127.0.0.1:5000/ms
结果类似:

What Where When
Baidu Baidu2006-12-05 22:18:12
Google Google2006-12-05 22:18:42


初试,功能之强大,操作之简便,初见端倪。

源码链接: https://pan.quark.cn/s/fa13cd6c6c8d Chrome浏览器作为一款备受青睐的网页浏览器,凭借其出色的稳定性和运行速度获得了广泛认可。 然而出于安全考量,Chrome系统默认不兼容ActiveX插件,因为ActiveX技术主要应用于Internet Explorer,它赋予网页内容与用户本地系统交互的能力,但同时也可能引发潜在的安全隐患。 不过在某些特定工作场景下,比如在企业内部网络环境或需要与老旧应用程序整合时,可能仍需在Chrome中启用ActiveX控件。 为此我们必须掌握在Chrome浏览器下加载和运用ActiveX的方法。 首先需要明确ActiveX的本质。 ActiveX是由微软设计的一种技术框架,旨在开发可在网页环境中运行的控件,这些控件能够完成多种功能,包括视频播放、应用程序组件运行或与硬件设备通信等。 ActiveX控件多以OCX(OLE控件)格式发布。 在Chrome浏览器中启用ActiveX需要采取额外措施,因为该浏览器本身并不支持此项技术。 以下是几种常见的解决方案: 1. **应用Chrome的兼容性设置**:部分Chrome版本提供了" --enable-internal-activex"命令行参数,可通过此参数使浏览器具备加载ActiveX控件的能力。 用户可在启动Chrome时,于快捷方式的目标路径后附加该参数来激活此功能。 例如:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --enable-internal-activex。 2. **安装第三方插件**:市面上存在一些第三方插件,例如"IE Tab"或"ActiveX Con...
标题SpringBoot与微信小程序结合的健康饮食平台研究AI更换标题第1章引言介绍健康饮食平台的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义阐述健康饮食平台在当前社会的重要性及其市场需求。1.2国内外研究现状分析国内外健康饮食平台的发展现状及趋势。1.3研究方法及创新点概述本文采用的研究方法和技术创新点。第2章相关理论总结健康饮食、SpringBoot及微信小程序的相关理论。2.1健康饮食理论介绍健康饮食的基本原则和营养学知识。2.2SpringBoot框架阐述SpringBoot框架的特点、优势及在项目中的应用。2.3微信小程序技术介绍微信小程序的开发技术、特点及其用户群体。第3章健康饮食平台设计详细介绍健康饮食平台的设计方案,包括前端和后端设计。3.1平台架构设计给出平台的整体架构、模块划分及交互流程。3.2数据库设计介绍数据库的设计思路、表结构及数据关系。3.3前后端交互设计阐述前后端数据交互的方式、接口设计及安全性考虑。第4章微信小程序实现介绍微信小程序的具体实现过程,包括页面设计、功能实现等。4.1页面设计与布局给出微信小程序的页面设计思路、布局及交互效果。4.2功能实现与测试详细介绍微信小程序各项功能的实现过程及测试方法。4.3用户体验优化阐述如何提升微信小程序的用户体验,包括界面优化、性能优化等。第5章平台测试与优化对健康饮食平台进行测试,并根据测试结果进行优化。5.1测试环境与数据介绍测试环境、测试数据及测试方法。5.2测试结果分析从功能、性能、用户体验等方面对测试结果进行详细分析。5.3平台优化策略根据测试结果提出平台优化策略,包括代码优化、功能改进等。第6章结论与展望总结本文的研究成果,并展望未来的研究方向。6.1研究结论概括本文的主要研究结论和平台实现效果。6.2展望指出本文研究的不足之处以及未来研究的方向和改进点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值