WIkipedia API 获取标题下的文本
我可以在 wikipedia api 中使用 wikipedia 进行书写
import wikipedia
import re
page = wikipedia.page("Albert Einstein")
text = page.content
regex_result = re.findall("==\s(.+?)\s==", text)
print(regex_result)
,并且可以从 regex_result(Wikipedia headers ) 中的每个元素获取下面的文本并将其附加到另一个列表中。我查了一下互联网,但不知道如何使用维基百科 API 中的某些功能来做到这一点。 第二次机会获取文本并使用某些模块在标题之间提取更多文本:在字符串中查找某些特定字符之间的一些文本
我已经尝试过:
l = 0
for n in regex_result:
try:
regal = re.findall(f"==\s{regex_result[l]}\s==(.+?)\s=={regex_result[l+1]}\s==", text)
l+=2
except Exception:
continue
但我没有工作: 输出只有[]
I can scripe a wikipedia usein wikipedia api
import wikipedia
import re
page = wikipedia.page("Albert Einstein")
text = page.content
regex_result = re.findall("==\s(.+?)\s==", text)
print(regex_result)
and I can from every element in a regex_result(Wikipedia headers ) get a text bellow and append it to another list. I dug the internet and I do not know how to do that with some function in Wikipedia API.
Second chance to get it in get a text and with some module extract a text between headers more here: find a some text in string bettwen some specific characters
I have tried this:
l = 0
for n in regex_result:
try:
regal = re.findall(f"==\s{regex_result[l]}\s==(.+?)\s=={regex_result[l+1]}\s==", text)
l+=2
except Exception:
continue
But I am not working:
output is only []
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不想调用
re
两次,而是直接迭代regex_result
提供的结果。 命名组,格式为( ?P...)
使得在没有周围标记的情况下提取标头名称变得更加容易。regex_result 将是所有顶级节标题的字符串列表。
这是我用来从 wiki 页面制作目录的方法。 (注意:f 字符串需要 Python 3.6)
You don't want to call
re
twice, but rather iterate directly through the results provided byregex_result
. Named groups in the form of(?P<name>...)
make it even easier to extract the header name without the surrounding markup.regex_result will then be a list of strings of the all the top-level section headers.
Here's what I use to make a table of contents from a wiki page. (Note: f-strings require Python 3.6)