Python 解析wikipedia页面内容并删除额外内容

Python 解析wikipedia页面内容并删除额外内容,python,html,css,Python,Html,Css,正在解析wikipedia页面。我们必须只提取可见文本部分,忽略/删除其他html标记、URL、对图像、表格、公式和导航组件的引用。下面的代码工作得很好,但是,我想知道如何去掉页面上的目录表以及页面底部的引用部分 import urllib from bs4 import BeautifulSoup url = "https://en.wikipedia.org/wiki/Resource-efficient" html = urllib.urlopen(url).read() soup =

正在解析wikipedia页面。我们必须只提取可见文本部分,忽略/删除其他html标记、URL、对图像、表格、公式和导航组件的引用。下面的代码工作得很好,但是,我想知道如何去掉页面上的目录表以及页面底部的引用部分

import urllib
from bs4 import BeautifulSoup

url = "https://en.wikipedia.org/wiki/Resource-efficient"
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html,"html.parser")

for script in soup(["script", "style","[document]", "head", "title","table"]):
    script.extract() 
text = soup.get_text()

如果你关注的是维基百科,不要费心解析文本。幸运的是,Wikipedia提供了与API一起使用的方法。此URL:

给你答复:

{
    "batchcomplete": "",
    "query": {
        "redirects": [
            {
                "from": "Resource-efficient",
                "to": "Resource efficiency"
            }
        ],
        "pages": {
            "36804997": {
                "pageid": 36804997,
                "ns": 0,
                "title": "Resource efficiency",
                "extract": "Resource efficiency is about maximising the supply of money ...<snip>... External links\nGreen Town: efficient community\nResource efficiency in environmental accounting"
            }
        }
    }
}
{
“批处理完成”:“,
“查询”:{
“重定向”:[
{
“from”:“资源效率高”,
“至”:“资源效率”
}
],
“页数”:{
"36804997": {
“pageid”:36804997,
“ns”:0,
“标题”:“资源效率”,
“摘录”:“资源效率是指最大限度地提供资金……外部联系\n绿色小镇:高效社区\n环境会计中的资源效率”
}
}
}
}
您感兴趣的部分位于
“extract”


看看URL中的参数
titles
获取一个或多个标题(由
|
分隔),
prop=extracts
使用我刚才提到的特殊扩展来提取纯文本,
explaintext
确保结果中没有HTML标记,
exsectionformat=plain
将节替换为两行换行符,并
重定向
自动解析重定向(这不是强制性的,但是一个很好的选择)。如果要使用其他返回格式,请使用参数
format=xml
或其他内容。

您的意思是必须去除各种标记。这是否意味着您只想删除标签或其内容?例如,表的内容是否仍然可见?