【问题标题】:Return specific data from a Wikipedia Page using API使用 API 从维基百科页面返回特定数据
【发布时间】:2016-12-22 17:27:01
【问题描述】:

我想解析 Wikipedia 上的地理页面(即地标、名胜古迹)以返回仅包含页面标题和从页面中抓取的 GIS 坐标的 json 文件。

例如,查看页面:https://en.wikipedia.org/wiki/The_Sanctuary

使用api:https://en.wikipedia.org/w/api.php?action=query&titles=The%20Sanctuary&prop=revisions&rvprop=content&format=json从页面内容返回所有数据。

但是,我只想返回以下元素:

"title":"圣所" 坐标|51.41000|N|1.83173|W

请任何人建议如何正确构建 Web 服务调用?

这是我第一次尝试从页面中抓取内容,因此非常感谢任何指导

【问题讨论】:

    标签: web-scraping mediawiki-api


    【解决方案1】:

    抓取的经验法则是不要这样做。 API 中有很多东西可用(使用API sandbox 来发现它们)。对于大多数其他有趣的数据,有人已经编写了一个库。

    在这种情况下,action=query&titles=The_Sanctuary&prop=coordinates 会得到你想要的:

    {
        "batchcomplete": "",
        "query": {
            "pages": {
                "788970": {
                    "pageid": 788970,
                    "ns": 0,
                    "title": "The Sanctuary",
                    "coordinates": [
                        {
                            "lat": 51.41,
                            "lon": -1.83173,
                            "primary": "",
                            "globe": "earth"
                        }
                    ]
                }
            }
        }
    }
    

    【讨论】:

    • 谢谢@Tgr。这完美地工作。我将按照您的建议深入 API 沙箱并增加我的知识 - 正如您毫无疑问所收集的那样,这对我来说是新的领域。再次感谢。
    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    相关资源
    最近更新 更多