首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python库从URL检索Wikipedia页面摘要

Python库从URL检索Wikipedia页面摘要
EN

Stack Overflow用户
提问于 2021-09-28 18:21:10
回答 1查看 236关注 0票数 0

从前面关于StackOverflow How to get Wikipedia page from Wikidata Id?的一个问题中,下面的答案帮助我检索维基百科的网址,以获得相应的维基数据标识符

代码语言:javascript
复制
   def get_wikipedia_url_from_wikidata_id(wikidata_id, lang='en', debug=False):
    import requests
    from requests import utils

    url = (
        'https://www.wikidata.org/w/api.php'
        '?action=wbgetentities'
        '&props=sitelinks/urls'
        f'&ids={wikidata_id}'
        '&format=json')
    json_response = requests.get(url).json()
    if debug: print(wikidata_id, url, json_response) 

    entities = json_response.get('entities')    
    if entities:
        entity = entities.get(wikidata_id)
        if entity:
            sitelinks = entity.get('sitelinks')
            if sitelinks:
                if lang:
                    # filter only the specified language
                    sitelink = sitelinks.get(f'{lang}wiki')
                    if sitelink:
                        wiki_url = sitelink.get('url')
                        if wiki_url:
                            return requests.utils.unquote(wiki_url)
                else:
                    # return all of the urls
                    wiki_urls = {}
                    for key, sitelink in sitelinks.items():
                        wiki_url = sitelink.get('url')
                        if wiki_url:
                            wiki_urls[key] = requests.utils.unquote(wiki_url)
                    return wiki_urls
    return None 

我的问题是:是否有一个python库可以从维基百科URL中检索摘要,而不是使用漂亮的soap库编写python 刮刀代码?

示例:

代码语言:javascript
复制
res= get_wikipedia_url_from_wikidata_id('Q34211')
res
https://ar.wikipedia.org/wiki/ياسر_عرفات

摘要应是:

代码语言:javascript
复制
ياسر عرفات (وُلد في مدينة القاهرة، المملكة المصرية في 29 صفر 1348 هـ / 4 أغسطس 1929 – تُوفي في باريس، فرنسا في 28 رمضان 1425 هـ / 11 نوفمبر 2004 )، واسمه الحقيقي محمد عبد الرؤوف عرفات القدوة الحسيني. يُكنى بأبي عمار ويُلقب بالختيار. هو سياسي وعسكري فلسطيني لاجئ وأحد مؤسسي حركة فتح وجناحها المسلح (العاصفة).
هو رئيس منظمة التحرير الفلسطينية منذ 1969 وحتى 2004، وثالث شخص يتقلد هذا المنصب منذ تأسيسها عام 1964، وهو القائد العام لحركة فتح أكبر الحركات داخل المنظمة التي أسسها مع رفاقه في عام 1959. عارض منذ البداية الوجود الإسرائيلي ولكنه عاد وقبِل بقرار مجلس الأمن الدولي رقم 242 في أعقاب هزيمة يونيو 1967، وموافقة منظمة التحرير الفلسطينية على قرار حل الدولتين والدخول في مفاوضات سرية مع الحكومة الإسرائيلية. كرس معظم حياته لقيادة النضال الوطني الفلسطيني مطالبًا بحق الشعب الفلسطيني في تقرير مصيره.
شرع عرفات ومنظمة التحرير الفلسطينية في آخر فترات حياته في سلسلة من المفاوضات مع إسرائيل لإنهاء عقود من الصراع الإسرائيلي الفلسطيني. ومن تلك المفاوضات مؤتمر مدريد 1991، واتفاقية أوسلو. ترأس السلطة الوطنية الفلسطينية في عام 1996 بعد انتخابه. أدانت الفصائل الإسلامية وبعض اليسارية والعضوة في منظمة التحرير الفلسطينية التنازلات التي قُدمت للحكومة الإسرائيلية، وأصبحوا من المعارضة. وفي عام 1994 مُنحت جائزة نوبل للسلام لياسر عرفات، وإسحاق رابين، وشمعون بيريز بسبب مفاوضات أوسلو.
بنهاية سنة 2004، مرض ياسر عرفات بعد سنتين من حصار للجيش الإسرائيلي له داخل مقره في رام الله، ودخل في غيبوبة. توفي ياسر عرفات في 11 نوفمبر 2004 في مستشفى بيرسي العسكري بباريس عن عمر جاوز 75 عاما. لا يعرف سبب الوفاة على التحديد، وقد قال الأطباء أن سبب الوفاة هو تليف الكبد، ولكن لم يتم تشريح الجثة.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-28 18:48:11

您可以获取这个api并使用json数据。

https://ar.wikipedia.org/api/rest_v1/page/summary/ياسر_عرفات

可以用以下函数之一替换摘要以达到所需的数据。

  • data-parsoid
  • html
  • lint
  • media-list
  • mobile-html
  • mobile-html-offline-resources
  • mobile-sections
  • mobile-sections-lead
  • mobile-sections-remaining
  • pdf
  • random
  • related
  • segments
  • summary
  • talk
  • title
  • wikitext
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69366742

复制
相关文章

相似问题

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