首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python中解析维基百科页面?

如何在Python中解析维基百科页面?
EN

Stack Overflow用户
提问于 2012-05-13 18:22:22
回答 3查看 3.1K关注 0票数 1

我一直在尝试用Python解析wikipedia页面,并且使用API非常成功。

但是,不知何故,API文档对我来说似乎太简陋了,无法获得所有数据。到目前为止,我正在执行一个requests.get()调用

代码语言:javascript
运行
复制
http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=China&format=json&exintro=1

但是,这只返回了第一段。而不是整个页面。我尝试使用所有页面和搜索,但都无济于事。更好地解释如何从维基页面获取数据将是真正有帮助的。所有数据,而不仅仅是前一个查询返回的介绍。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-13 18:41:26

您似乎正在使用查询操作来获取页面的内容。根据它的api规范,它只返回部分数据。正确的操作似乎是查询。

这是一个示例

代码语言:javascript
运行
复制
import urllib2
req = urllib2.urlopen("http://en.wikipedia.org/w/api.php?action=parse&page=China&format=json&prop=text")
content = req.read()
# content in json - use json or simplejson to get relevant sections.
票数 3
EN

Stack Overflow用户

发布于 2012-05-13 18:39:29

您是否考虑过使用Beautiful Soup从页面中提取内容?

虽然我还没有在维基百科上使用过它,但其他人已经用过了,并且用它来抓取其他页面,这是一个很好的工具。

票数 1
EN

Stack Overflow用户

发布于 2018-06-02 01:27:21

如果有人正在寻找python3答案,你可以这样做:

代码语言:javascript
运行
复制
import urllib.request
    req = urllib.request.urlopen("http://en.wikipedia.org/w/api.php?action=parse&page=China&format=json&prop=text")
    print(req.read())

我使用的是python版本3.7.0b4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10570969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档