Python 解析wikipedia页面内容并删除额外内容
正在解析wikipedia页面。我们必须只提取可见文本部分,忽略/删除其他html标记、URL、对图像、表格、公式和导航组件的引用。下面的代码工作得很好,但是,我想知道如何去掉页面上的目录表以及页面底部的引用部分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 =
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
或其他内容。您的意思是必须去除各种标记。这是否意味着您只想删除标签或其内容?例如,表的内容是否仍然可见?