導入
FlaskというPythonのWebフレームワークの全体像が知りたくて、APIリファレンスを眺めていたが、メソッド名だけを概観できないのでスクレイピングしました。というわけで公開します。あまり役立つとは思えないけど、あくまで全体像を見渡すために見てください。
感想はブログに
全体を眺めての感想は、ブログに書く予定ですので、できたらリンク貼ります。
スクレイピングのコード
一応。
def get_links(url):
import requests
from bs4 import BeautifulSoup as soup
import re
result = requests.get(url)
page = result.text
doc = soup(page, "html5lib")
# links = [element.get('id') for element in doc.find_all(id=re.compile('^flask.'))]
links = [element.get('id') for element in doc.find_all(class_="section")]
return links
if __name__ == '__main__':
import sys
for url in sys.argv[1:]:
for num, link in enumerate(get_links(url), start=1):
print("-", num, "`%s`" % link)
print()
結果のAPI
セクションとそれぞれのメソッド・プロパティを列挙しただけど、それでもFlaskで何ができるのかという雰囲気は掴める。
特に説明はしません。メソッド・プロパティの横の番号には、数を数える以外の意味はありません。
API Sections
application-object
blueprint-objects
incoming-request-data
response-objects
sessions
session-interface
test-client
application-globals
useful-functions-and-classes
message-flashing
module-flask.json
template-rendering
configuration
extensions
stream-helpers
useful-internals
signals
class-based-views
url-route-registrations
view-function-options
command-line-interface
Application Object
- 1
flask.Flask
- 2
flask.Flask.add_template_filter
- 3
flask.Flask.add_template_global
- 4
flask.Flask.add_template_test
- 5
flask.Flask.add_url_rule
- 6
flask.Flask.after_request
- 7
flask.Flask.after_request_funcs
- 8
flask.Flask.app_context
- 9
flask.Flask.app_ctx_globals_class
- 10
flask.Flask.auto_find_instance_path
- 11
flask.Flask.before_first_request
- 12
flask.Flask.before_first_request_funcs
- 13
flask.Flask.before_request
- 14
flask.Flask.before_request_funcs
- 15
flask.Flask.blueprints
- 16
flask.Flask.cli
- 17
flask.Flask.config
- 18
flask.Flask.config_class
- 19
flask.Flask.context_processor
- 20
flask.Flask.create_global_jinja_loader
- 21
flask.Flask.create_jinja_environment
- 22
flask.Flask.create_url_adapter
- 23
flask.Flask.debug
- 24
flask.Flask.default_config
- 25
flask.Flask.dispatch_request
- 26
flask.Flask.do_teardown_appcontext
- 27
flask.Flask.do_teardown_request
- 28
flask.Flask.endpoint
- 29
flask.Flask.error_handler_spec
- 30
flask.Flask.errorhandler
- 31
flask.Flask.extensions
- 32
flask.Flask.full_dispatch_request
- 33
flask.Flask.get_send_file_max_age
- 34
flask.Flask.got_first_request
- 35
flask.Flask.handle_exception
- 36
flask.Flask.handle_http_exception
- 37
flask.Flask.handle_url_build_error
- 38
flask.Flask.handle_user_exception
- 39
flask.Flask.has_static_folder
- 40
flask.Flask.init_jinja_globals
- 41
flask.Flask.inject_url_defaults
- 42
flask.Flask.instance_path
- 43
flask.Flask.iter_blueprints
- 44
flask.Flask.jinja_env
- 45
flask.Flask.jinja_environment
- 46
flask.Flask.jinja_loader
- 47
flask.Flask.jinja_options
- 48
flask.Flask.json_decoder
- 49
flask.Flask.json_encoder
- 50
flask.Flask.log_exception
- 51
flask.Flask.logger
- 52
flask.Flask.logger_name
- 53
flask.Flask.make_config
- 54
flask.Flask.make_default_options_response
- 55
flask.Flask.make_null_session
- 56
flask.Flask.make_response
- 57
flask.Flask.make_shell_context
- 58
flask.Flask.name
- 59
flask.Flask.open_instance_resource
- 60
flask.Flask.open_resource
- 61
flask.Flask.open_session
- 62
flask.Flask.permanent_session_lifetime
- 63
flask.Flask.preprocess_request
- 64
flask.Flask.preserve_context_on_exception
- 65
flask.Flask.process_response
- 66
flask.Flask.propagate_exceptions
- 67
flask.Flask.register_blueprint
- 68
flask.Flask.register_error_handler
- 69
flask.Flask.request_class
- 70
flask.Flask.request_context
- 71
flask.Flask.response_class
- 72
flask.Flask.route
- 73
flask.Flask.run
- 74
flask.Flask.save_session
- 75
flask.Flask.secret_key
- 76
flask.Flask.select_jinja_autoescape
- 77
flask.Flask.send_file_max_age_default
- 78
flask.Flask.send_static_file
- 79
flask.Flask.session_cookie_name
- 80
flask.Flask.session_interface
- 81
flask.Flask.shell_context_processor
- 82
flask.Flask.shell_context_processors
- 83
flask.Flask.should_ignore_error
- 84
flask.Flask.static_folder
- 85
flask.Flask.teardown_appcontext
- 86
flask.Flask.teardown_appcontext_funcs
- 87
flask.Flask.teardown_request
- 88
flask.Flask.teardown_request_funcs
- 89
flask.Flask.template_context_processors
- 90
flask.Flask.template_filter
- 91
flask.Flask.template_global
- 92
flask.Flask.template_test
- 93
flask.Flask.test_client
- 94
flask.Flask.test_client_class
- 95
flask.Flask.test_request_context
- 96
flask.Flask.testing
- 97
flask.Flask.trap_http_exception
- 98
flask.Flask.update_template_context
- 99
flask.Flask.url_build_error_handlers
- 100
flask.Flask.url_default_functions
- 101
flask.Flask.url_defaults
- 102
flask.Flask.url_map
- 103
flask.Flask.url_rule_class
- 104
flask.Flask.url_value_preprocessor
- 105
flask.Flask.url_value_preprocessors
- 106
flask.Flask.use_x_sendfile
- 107
flask.Flask.view_functions
- 108
flask.Flask.wsgi_app
Blueprint Objects
- 109
flask.Blueprint
- 110
flask.Blueprint.add_app_template_filter
- 111
flask.Blueprint.add_app_template_global
- 112
flask.Blueprint.add_app_template_test
- 113
flask.Blueprint.add_url_rule
- 114
flask.Blueprint.after_app_request
- 115
flask.Blueprint.after_request
- 116
flask.Blueprint.app_context_processor
- 117
flask.Blueprint.app_errorhandler
- 118
flask.Blueprint.app_template_filter
- 119
flask.Blueprint.app_template_global
- 120
flask.Blueprint.app_template_test
- 121
flask.Blueprint.app_url_defaults
- 122
flask.Blueprint.app_url_value_preprocessor
- 123
flask.Blueprint.before_app_first_request
- 124
flask.Blueprint.before_app_request
- 125
flask.Blueprint.before_request
- 126
flask.Blueprint.context_processor
- 127
flask.Blueprint.endpoint
- 128
flask.Blueprint.errorhandler
- 129
flask.Blueprint.get_send_file_max_age
- 130
flask.Blueprint.has_static_folder
- 131
flask.Blueprint.jinja_loader
- 132
flask.Blueprint.make_setup_state
- 133
flask.Blueprint.open_resource
- 134
flask.Blueprint.record
- 135
flask.Blueprint.record_once
- 136
flask.Blueprint.register
- 137
flask.Blueprint.register_error_handler
- 138
flask.Blueprint.route
- 139
flask.Blueprint.send_static_file
- 140
flask.Blueprint.static_folder
- 141
flask.Blueprint.teardown_app_request
- 142
flask.Blueprint.teardown_request
- 143
flask.Blueprint.url_defaults
- 144
flask.Blueprint.url_value_preprocessor
Incoming Request Data
- 145
flask.Request
- 146
flask.Request.form
- 147
flask.Request.args
- 148
flask.Request.values
- 149
flask.Request.cookies
- 150
flask.Request.stream
- 151
flask.Request.headers
- 152
flask.Request.data
- 153
flask.Request.files
- 154
flask.Request.environ
- 155
flask.Request.method
- 156
flask.Request.path
- 157
flask.Request.full_path
- 158
flask.Request.script_root
- 159
flask.Request.url
- 160
flask.Request.base_url
- 161
flask.Request.url_root
- 162
flask.Request.is_xhr
- 163
flask.Request.blueprint
- 164
flask.Request.endpoint
- 165
flask.Request.get_json
- 166
flask.Request.is_json
- 167
flask.Request.json
- 168
flask.Request.max_content_length
- 169
flask.Request.module
- 170
flask.Request.on_json_loading_failed
- 171
flask.Request.routing_exception
- 172
flask.Request.url_rule
- 173
flask.Request.view_args
- 174
flask.request
Response Objects
- 175
flask.Response
- 176
flask.Response.headers
- 177
flask.Response.status
- 178
flask.Response.status_code
- 179
flask.Response.data
- 180
flask.Response.mimetype
- 181
flask.Response.set_cookie
Sessions
- 182
flask.session
- 183
flask.session.new
- 184
flask.session.modified
- 185
flask.session.permanent
Session Interface
- 186
flask.sessions.SessionInterface
- 187
flask.sessions.SessionInterface.get_cookie_domain
- 188
flask.sessions.SessionInterface.get_cookie_httponly
- 189
flask.sessions.SessionInterface.get_cookie_path
- 190
flask.sessions.SessionInterface.get_cookie_secure
- 191
flask.sessions.SessionInterface.get_expiration_time
- 192
flask.sessions.SessionInterface.is_null_session
- 193
flask.sessions.SessionInterface.make_null_session
- 194
flask.sessions.SessionInterface.null_session_class
- 195
flask.sessions.SessionInterface.open_session
- 196
flask.sessions.SessionInterface.pickle_based
- 197
flask.sessions.SessionInterface.save_session
- 198
flask.sessions.SessionInterface.should_set_cookie
- 199
flask.sessions.SecureCookieSessionInterface
- 200
flask.sessions.SecureCookieSessionInterface.digest_method
- 201
flask.sessions.SecureCookieSessionInterface.key_derivation
- 202
flask.sessions.SecureCookieSessionInterface.salt
- 203
flask.sessions.SecureCookieSessionInterface.serializer
- 204
flask.sessions.SecureCookieSessionInterface.session_class
- 205
flask.sessions.SecureCookieSession
- 206
flask.sessions.NullSession
- 207
flask.sessions.SessionMixin
- 208
flask.sessions.SessionMixin.modified
- 209
flask.sessions.SessionMixin.new
- 210
flask.sessions.SessionMixin.permanent
- 211
flask.sessions.session_json_serializer
Test Client
- 212
flask.testing.FlaskClient
- 213
flask.testing.FlaskClient.session_transaction
Application Globals
- 214
flask.g
Useful Functions and Classes
- 215
flask.current_app
- 216
flask.has_request_context
- 217
flask.copy_current_request_context
- 218
flask.has_app_context
- 219
flask.url_for
- 220
flask.abort
- 221
flask.redirect
- 222
flask.make_response
- 223
flask.after_this_request
- 224
flask.send_file
- 225
flask.send_from_directory
- 226
flask.safe_join
- 227
flask.escape
- 228
flask.Markup
- 229
flask.Markup.escape
- 230
flask.Markup.striptags
- 231
flask.Markup.unescape
Message Flashing
- 232
flask.flash
- 233
flask.get_flashed_messages
JSON Support
- 234
flask.json.jsonify
- 235
flask.json.dumps
- 236
flask.json.dump
- 237
flask.json.loads
- 238
flask.json.load
- 239
flask.json.JSONEncoder
- 240
flask.json.JSONEncoder.default
- 241
flask.json.JSONDecoder
Template Rendering
- 242
flask.render_template
- 243
flask.render_template_string
- 244
flask.get_template_attribute
Configuration
- 245
flask.Config
- 246
flask.Config.from_envvar
- 247
flask.Config.from_json
- 248
flask.Config.from_mapping
- 249
flask.Config.from_object
- 250
flask.Config.from_pyfile
- 251
flask.Config.get_namespace
Extensions
- 252
flask.flask.ext
Stream Helpers
- 253
flask.stream_with_context
Useful Internals
- 254
flask.ctx.RequestContext
- 255
flask.ctx.RequestContext.copy
- 256
flask.ctx.RequestContext.match_request
- 257
flask.ctx.RequestContext.pop
- 258
flask.ctx.RequestContext.push
- 259
flask._request_ctx_stack
- 260
flask.ctx.AppContext
- 261
flask.ctx.AppContext.pop
- 262
flask.ctx.AppContext.push
- 263
flask._app_ctx_stack
- 264
flask.blueprints.BlueprintSetupState
- 265
flask.blueprints.BlueprintSetupState.add_url_rule
- 266
flask.blueprints.BlueprintSetupState.app
- 267
flask.blueprints.BlueprintSetupState.blueprint
- 268
flask.blueprints.BlueprintSetupState.first_registration
- 269
flask.blueprints.BlueprintSetupState.options
- 270
flask.blueprints.BlueprintSetupState.subdomain
- 271
flask.blueprints.BlueprintSetupState.url_defaults
- 272
flask.blueprints.BlueprintSetupState.url_prefix
Signals
- 273
flask.signals.signals_available
- 274
flask.template_rendered
- 275
flask.request_started
- 276
flask.request_finished
- 277
flask.got_request_exception
- 278
flask.request_tearing_down
- 279
flask.appcontext_tearing_down
- 280
flask.appcontext_pushed
- 281
flask.appcontext_popped
- 282
flask.message_flashed
- 283
flask.signals.Namespace
- 284
flask.signals.Namespace.signal
Class-Based Views
- 285
flask.views.View
- 286
flask.views.View.as_view
- 287
flask.views.View.decorators
- 288
flask.views.View.dispatch_request
- 289
flask.views.View.methods
- 290
flask.views.MethodView
URL Route Registrations
View Function Options
Command Line Interface
- 291
flask.cli.FlaskGroup
- 292
flask.cli.AppGroup
- 293
flask.cli.AppGroup.command
- 294
flask.cli.AppGroup.group
- 295
flask.cli.ScriptInfo
- 296
flask.cli.ScriptInfo.app_import_path
- 297
flask.cli.ScriptInfo.create_app
- 298
flask.cli.ScriptInfo.data
- 299
flask.cli.ScriptInfo.load_app
- 300
flask.cli.with_appcontext
- 301
flask.cli.pass_script_info
- 302
flask.cli.run_command
- 303
flask.cli.shell_command