使用Python从网页获取数据
希望通过Python从特定网站获取数据,并上传到Google应用程序引擎。其想法是创建一个数据库数据,将信息存储在服务器上,以便在web应用程序中检索和显示使用Python从网页获取数据,python,database,google-app-engine,web-applications,Python,Database,Google App Engine,Web Applications,希望通过Python从特定网站获取数据,并上传到Google应用程序引擎。其想法是创建一个数据库数据,将信息存储在服务器上,以便在web应用程序中检索和显示 from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.ext import db import os import datetime
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
import os
import datetime
from google.appengine.ext.webapp import template
# A class which creates all the pokemon on the server
class Pokemondata(db.Model):
number = db.IntegerProperty()
pokemonname = db.StringProperty()
description = db.StringProperty()
newpoke = Pokemondata(number="001",pokemonname="Balbasuar",description="The grass pokemon")
newpoke = Pokemondata(number="002",pokemonname="Ivysaur",description="The seed pokemon")
newpoke = Pokemondata(number="003",pokemonname="Venasaur",description="Another grass pokemon")
newpoke.put()
# A class to put new pokemon in to the server ?
class ApplyHandler(webapp.RequestHandler):
def post(self):
self.session = Session()
pnumber = self.request.get('number')
pname = self.request.get('pokemonname')
pdescription = self.request.get('description')
newpoke = Pokemondata(number=pnumber,pokemonname=pname,description=pdescription)
newpoke.put()
self.session['pokemon'] = pname
doRender(self,"board.htm",{})
# Construct a google table for this data
# to display
class JSONInterface(webapp.RequestHandler):
def get(self):
que = db.Query(Pokemondata)
listing = que.fetch(limit = 12)
doRender(self,'http://pokedexapp.appspot.com/?user=cater54321@gmail.com#input',
{'listing':listing})
application = webapp.WSGIApplication([('/(.*html)?', ApplyHandler),
('/json', JSONInterface)], debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
当我部署应用程序进行测试时,我收到服务器错误。有谁能告诉我这是否是朝着正确方向迈出的一步,还有什么需要修改
yaml文件当前为
应用:pokedexapp
版本:1
运行时:python
api_版本:1
处理程序:
-网址:/*
脚本:main.py来自google.appengine.ext import db
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
# A class which creates all the pokemon on the server
class Pokemondata(db.Model):
number = db.IntegerProperty()
pokemonname = db.StringProperty()
description = db.StringProperty()
def post(self):
self.session = Session()
pnumber = self.request.get('number')
pname = self.request.get('pokemonname')
pdescription = self.request.get('description')
newpoke = Pokemondata(number=pnumber,pokemonname=pname,description=pdescription)
newpoke.put()
self.session['pokemon'] = pname
doRender(self,"board.htm",{})
Page = """
<html manifest="my.manifest">
<head>
<!-- All the js and css header links go here -->
</head>
<body>
<!-- all the needed HTML markup -->
<!-- if there is a place you would need to embed values (e.g. a user name), just use %s in its place, e.g. -->
<h1>%s's App Engine App</h>
<!-- you can now do a string substitution for the each %s (in order) - see end…
</body>
</html>
"""
# A class to get / put pokemon in to the server ?
class ApplyHandler(webapp.RequestHandler):
def post(self):
self.session = Session()
pnumber = self.request.get('number')
pname = self.request.get('pokemonname')
pdescription = self.request.get('description')
newpoke = Pokemondata(number=pnumber,pokemonname=pname,description=pdescription)
newpoke.put()
self.session['pokemon'] = pname
doRender(self,"board.htm",{})
# Construct a google big ass table for this data
# to display
def get(self):
que = db.Query(Pokemondata)
listing = que.fetch(limit = 12)
doRender(self,'http://pokedexapp.appspot.com/?user=cater54321@gmail.com#input',
{'listing':listing})
#self.response.out.write( page % "Fred Bloggs")
# This is standard Google App Engine stuff - create a WSGI application
# framework and set up the routing between URIs and Handlers...
application = webapp.WSGIApplication([('/', Pokemondata),
('/json', JSONInterface)], debug=True)
def Addlist():
run_wsgi_app(application)
if __name__ == "__Addlist__":
main()
code here
从google.appengine.ext导入webapp
从google.appengine.ext.webapp导入模板
#在服务器上创建所有口袋妖怪的类
口袋妖怪类(db.Model):
number=db.IntegerProperty()
pokemoname=db.StringProperty()
description=db.StringProperty()
def post(自我):
self.session=session()
pnumber=self.request.get('number')
pname=self.request.get('pokemoname')
pddescription=self.request.get('description')
newpoke=pokemonada(number=pnumber,pokemoname=pname,description=pddescription)
newpoke.put()
self.session['pokemon']=pname
doRender(self,“board.htm”,{})
第“”页
%s的应用程序引擎应用程序
我理解代码缩进是错误的。我正在尝试修复它。你想发布你收到的错误。你能发布.yaml文件吗?我在这里看到一些错误,你在处理程序中使用的类MainHandler、JSONInterface、SearchResult在哪里?我对代码做了一些修改,并添加了yaml文件的内容。这个例子应该是什么该怎么办?该示例应该在代码中创建数据并将其发布到服务器上……Html被省略用于格式化输出,但它只是显示数据库条目的结果
from google.appengine.ext import db
# A class which creates all the pokemon on the server
class Pokemondata(db.Model):
pokemonname = db.StringProperty()
newpoke = Pokemondata(pokemonname="Balbasuar")
newpoke.put()
class JSONInterface(webapp.RequestHandler):
def post(self):
pkmname = self.request.get('pokemonname')
callback = self.request.get('callback')
# This line makes the Message object...
pkmname = Pokemondata(pokemonname=pkmname)
# This one pushes it to the database (a Big-Table)...
pkmname.put()
self.response.out.write(getJSONMessages(callback))
def get(self):
callback = self.request.get('callback')
self.response.out.write(getJSONMessages(callback))
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
import os
import datetime
from google.appengine.ext.webapp import template
# A class which creates all the pokemon on the server
class Pokemondata(db.Model):
def get(self):
pokemonname = db.StringProperty()
newpoke = Pokemondata(pokemonname="Balbasuar")
newpoke.put()
class JSONInterface(webapp.RequestHandler):
def post(self):
pkmname = self.request.get('pokemonname')
callback = self.request.get('callback')
# This line makes the Message object...
pkmname = Pokemondata(pokemonname=pkmname)
# This one pushes it to the database (a Big-Table)...
pkmname.put()
self.response.out.write(getJSONMessages(callback))
def get(self):
callback = self.request.get('callback')
self.response.out.write(getJSONMessages(callback))