PythonWikipedia抓取-以其他语言获取指向同一页面的链接?

PythonWikipedia抓取-以其他语言获取指向同一页面的链接?,python,web-scraping,wikipedia,Python,Web Scraping,Wikipedia,我如何使用wikipedia或wikitools软件包从维基百科页面获取到其他语言相同页面的所有链接 例如: 我有这个页面,我正在尝试用其他可能的语言获取指向同一页面的链接,如: (韩语) 及(中文) 我想得到所有可能的页面 我的问题与这家伙的问题类似:,我只是想弄清楚是否有可能使用上述软件包(它们很容易通过pip)来完成同样的工作,而不是重新发明轮子 我也很想知道这是否可能,或者是否有其他软件包可以轻松完成这项工作。谢谢 我在wikipedia和wikitools软件包中都没有找到这一确切的功

我如何使用
wikipedia
wikitools
软件包从维基百科页面获取到其他语言相同页面的所有链接

例如:

我有这个页面,我正在尝试用其他可能的语言获取指向同一页面的链接,如: (韩语)

及(中文)

我想得到所有可能的页面

我的问题与这家伙的问题类似:,我只是想弄清楚是否有可能使用上述软件包(它们很容易通过pip)来完成同样的工作,而不是重新发明轮子


我也很想知道这是否可能,或者是否有其他软件包可以轻松完成这项工作。谢谢

我在
wikipedia
wikitools
软件包中都没有找到这一确切的功能
wikipedia
允许通过使用方法在语言之间切换

通过获取语言列表,然后使用
wikipedia
获取不同语言的页面内容,我看不出有什么不好的地方:

# -*- coding: utf-8 -*-

import urllib2
from bs4 import BeautifulSoup
import wikipedia

# get languages
soup = BeautifulSoup(urllib2.urlopen('http://en.wikipedia.org/wiki/Stack_Overflow'))
links = [(el.get('lang'), el.get('title')) for el in soup.select('li.interlanguage-link > a')]

for language, title in links:
    page_title = title.split(u' – ')[0]
    wikipedia.set_lang(language)
    page = wikipedia.page(page_title)
    print language
    print page.summary
    print "-----"
印刷品:

de
Pufferüberläufe (englisch buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große Datenmengen in einen dafür zu kleinen reservierten Speicherbereich, den Puffer, geschrieben, wodurch nach dem Ziel-Speicherbereich liegende Speicherstellen überschrieben werden.
Dreht es sich nicht um einen ganzen Datenblock, sondern um eine Zieladresse eines einzelnen Datensatzes, spricht man auch von pointer overflow, nach dem Pointer (Zeiger), der anzeigt, wo der Datensatz im Puffer hingeschrieben werden soll.

-----
es
En informática, un desbordamiento de pila (stack overflow/overrun) es un problema aritmético que hace referencia al exceso de flujo de datos almacenados en la pila de una función, esto permite que la dirección de retorno de la pila pueda ser modificada por otra parte de un atacante para obtener un beneficio propio, que generalmente es malicioso.

...
de Stack Overflow (Website) – Wikipedia
es Stack Overflow - Wikipedia, la enciclopedia libre
fa استک اورفلو - ویکی‌پدیا، دانشنامهٔ آزاد
fr Stack Overflow — Wikipédia
ko 스택 오버플로 (웹사이트) - 위키백과, 우리 모두의 백과사전
it Stack Overflow - Wikipedia
hu Stack Overflow - Wikipédia
ja Stack Overflow - Wikipedia
pl StackOverflow – Wikipedia, wolna encyklopedia
ro Stack Overflow - Wikipedia
ru Stack Overflow — Википедия
ta இசுட்டாக் ஓவர்ஃபுலோ - தமிழ் விக்கிப்பீடியா
uk Stack Overflow — Вікіпедія
zh Stack Overflow - 维基百科,自由的百科全书

您也可以完全切换到
BeautifulSoup
,但这很容易导致重新发明轮子:

import urllib2
from bs4 import BeautifulSoup

# get languages and links
soup = BeautifulSoup(urllib2.urlopen('http://en.wikipedia.org/wiki/Stack_Overflow'))
links = [(el.get('lang'), el.get('href')) for el in soup.select('li.interlanguage-link > a')]

for language, link in links:
    soup = BeautifulSoup(urllib2.urlopen('http:' + link))
    print language, soup.title.text
印刷品:

de
Pufferüberläufe (englisch buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große Datenmengen in einen dafür zu kleinen reservierten Speicherbereich, den Puffer, geschrieben, wodurch nach dem Ziel-Speicherbereich liegende Speicherstellen überschrieben werden.
Dreht es sich nicht um einen ganzen Datenblock, sondern um eine Zieladresse eines einzelnen Datensatzes, spricht man auch von pointer overflow, nach dem Pointer (Zeiger), der anzeigt, wo der Datensatz im Puffer hingeschrieben werden soll.

-----
es
En informática, un desbordamiento de pila (stack overflow/overrun) es un problema aritmético que hace referencia al exceso de flujo de datos almacenados en la pila de una función, esto permite que la dirección de retorno de la pila pueda ser modificada por otra parte de un atacante para obtener un beneficio propio, que generalmente es malicioso.

...
de Stack Overflow (Website) – Wikipedia
es Stack Overflow - Wikipedia, la enciclopedia libre
fa استک اورفلو - ویکی‌پدیا، دانشنامهٔ آزاد
fr Stack Overflow — Wikipédia
ko 스택 오버플로 (웹사이트) - 위키백과, 우리 모두의 백과사전
it Stack Overflow - Wikipedia
hu Stack Overflow - Wikipédia
ja Stack Overflow - Wikipedia
pl StackOverflow – Wikipedia, wolna encyklopedia
ro Stack Overflow - Wikipedia
ru Stack Overflow — Википедия
ta இசுட்டாக் ஓவர்ஃபுலோ - தமிழ் விக்கிப்பீடியா
uk Stack Overflow — Вікіпедія
zh Stack Overflow - 维基百科,自由的百科全书

嗯,这有点像是重新发明轮子,但它只有两行,所以对我来说很好。谢谢你!