[英]Basics of connecting python to the web and validating user input
我是一个相对较新的人,从哪里开始我茫然。 我不希望有详细的分步答复(当然,当然欢迎那些答复),但是任何朝着正确方向前进的人都会受到赞赏。
我想使用Gutenberg python库根据用户输入选择文本。
现在我有代码:
from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers
text = strip_headers(load_etext(11)).strip()
其中的数字代表文字(在这种情况下为11 =爱丽丝梦游仙境)。
然后,我有一堆关于如何处理文本的代码,但是我认为这与这里无关。 (如果让我知道,我可以添加它)。
基本上,我想让用户这样做,而不仅仅是选择文本。 我想请用户选择作者,如果古腾堡计划(PG)有该作者的作品,请让他们从书名列表中选择(如果PG没有该作者的作品,请返回一些回复遵循“对不起,$ author_name没有任何东西,选择其他人。”然后,一旦用户决定了一本书,就将与该书相对应的编号输入代码中。
我只是不知道从这个过程开始。 我知道如何处理用户输入,但我不知道如何接受输入并使用它在线搜索某些内容。
理想情况下,我也能够处理诸如拼写错误之类的事情,但这可能就行了。
我非常感谢任何人有时间给予的帮助。 谢谢!
gutenberg
模块包括用于通过元数据 (例如作者) 搜索文本的工具 。 文档中的示例为:
from gutenberg.query import get_etexts
from gutenberg.query import get_metadata
print(get_metadata('title', 2701)) # prints frozenset([u'Moby Dick; Or, The Whale'])
print(get_metadata('author', 2701)) # prints frozenset([u'Melville, Hermann'])
print(get_etexts('title', 'Moby Dick; Or, The Whale')) # prints frozenset([2701, ...])
print(get_etexts('author', 'Melville, Hermann')) # prints frozenset([2701, ...])
听起来好像您已经知道如何将用户的值读取到变量中一样,并且替换上面的文字作者就像执行以下操作一样简单:
author_name = my_get_input_from_user_function()
texts = get_etexts('author', author_name)
请注意同一部分中的以下注意事项:
在使用gutenberg.query函数之一之前,必须填充本地元数据缓存。 这个一次性的过程将花费相当长的时间(在我的计算机上需要18个小时),但是一旦完成,随后对get_etexts或get_metadata的任何调用都会非常快。 如果无法填充缓存,则调用将引发异常。
考虑到这一点,我没有尝试过在此答案中介绍的代码,因为我仍在等待填充本地缓存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.