Вот несколько возможных подходов;используйте то, что работает для вас.Все приведенные ниже примеры кода используют requests
для HTTP-запросов к API;Вы можете установить requests
с pip install requests
, если у вас есть Pip.Все они также используют Mediawiki API , а два используют конечную точку query ;перейдите по этим ссылкам, если вам нужна документация.
1.Получите простое текстовое представление либо всей страницы, либо страницы «извлечения» прямо из API с помощью extracts
prop
Обратите внимание, что этот подход работает только на сайтах MediaWiki с расширением TextExtracts .В частности, это относится к Википедии, но не к небольшим сайтам Mediawiki, таким как, скажем, http://www.wikia.com/
. Вы хотите перейти по URL-адресу, например
https://en.wikipedia.org/w/api.php?action=query&format=json&titles=Bla_Bla_Bla&prop=extracts&exintro&explaintext
.у нас есть следующие параметры (задокументировано в https://www.mediawiki.org/wiki/Extension:TextExtracts#query+extracts):
action=query
, format=json
и title=Bla_Bla_Bla
- все это стандартные параметры MediaWiki API prop=extracts
заставляет нас использовать расширение TextExtracts exintro
ограничивает ответ на содержимое до того, как заголовок первого раздела explaintext
делает извлечение в ответе простым текстом вместо HTML
Затем проанализируйте ответ JSON и извлеките извлечение:
>>> import requests
>>> response = requests.get(
... 'https://en.wikipedia.org/w/api.php',
... params={
... 'action': 'query',
... 'format': 'json',
... 'titles': 'Bla Bla Bla',
... 'prop': 'extracts',
... 'exintro': True,
... 'explaintext': True,
... }
... ).json()
>>> page = next(iter(response['query']['pages'].values()))
>>> print(page['extract'])
"Bla Bla Bla" is the title of a song written and recorded by Italian DJ Gigi D'Agostino. It was released in May 1999 as the third single from the album, L'Amour Toujours. It reached number 3 in Austria and number 15 in France. This song can also be heard in an added remixed mashup with L'Amour Toujours (I'll Fly With You) in its US radio version.
2. Получите полный HTML-код страницы, используя конечную точку parse
, проанализируйте ее и извлеките первый абзац
MediaWiki имеет конечную точку parse
, которую можно нажать с помощью URL-адреса, например https://en.wikipedia.org/w/api.php?action=parse&page=Bla_Bla_Bla, чтобы получить HTML-код страницы. Затем его можно проанализировать с помощью анализатора HTML, например lxml (установите сначала с pip install lxml
), чтобы извлечь первый параграфграфик.
Например:
>>> import requests
>>> from lxml import html
>>> response = requests.get(
... 'https://en.wikipedia.org/w/api.php',
... params={
... 'action': 'parse',
... 'page': 'Bla Bla Bla',
... 'format': 'json',
... }
... ).json()
>>> raw_html = response['parse']['text']['*']
>>> document = html.document_fromstring(raw_html)
>>> first_p = document.xpath('//p')[0]
>>> intro_text = first_p.text_content()
>>> print(intro_text)
"Bla Bla Bla" is the title of a song written and recorded by Italian DJ Gigi D'Agostino. It was released in May 1999 as the third single from the album, L'Amour Toujours. It reached number 3 in Austria and number 15 in France. This song can also be heard in an added remixed mashup with L'Amour Toujours (I'll Fly With You) in its US radio version.
3.Разбор викитекста самостоятельно
Вы можете использовать API query
, чтобы получить викитекст страницы, разобрать его с помощью mwparserfromhell
(сначала установить его с помощью pip install mwparserfromhell
), а затем сократить его до удобочитаемого текста с помощью strip_code
.strip_code
не работает идеально во время написания (как ясно показано в примере ниже), но, надеюсь, улучшится.
>>> import requests
>>> import mwparserfromhell
>>> response = requests.get(
... 'https://en.wikipedia.org/w/api.php',
... params={
... 'action': 'query',
... 'format': 'json',
... 'titles': 'Bla Bla Bla',
... 'prop': 'revisions',
... 'rvprop': 'content',
... }
... ).json()
>>> page = next(iter(response['query']['pages'].values()))
>>> wikicode = page['revisions'][0]['*']
>>> parsed_wikicode = mwparserfromhell.parse(wikicode)
>>> print(parsed_wikicode.strip_code())
{{dablink|For Ke$ha's song, see Blah Blah Blah (song). For other uses, see Blah (disambiguation)}}
"Bla Bla Bla" is the title of a song written and recorded by Italian DJ Gigi D'Agostino. It was released in May 1999 as the third single from the album, L'Amour Toujours. It reached number 3 in Austria and number 15 in France. This song can also be heard in an added remixed mashup with L'Amour Toujours (I'll Fly With You) in its US radio version.
Background and writing
He described this song as "a piece I wrote thinking of all the people who talk and talk without saying anything". The prominent but nonsensical vocal samples are taken from UK band Stretch's song "Why Did You Do It"''.
Music video
The song also featured a popular music video in the style of La Linea. The music video shows a man with a floating head and no arms walking toward what appears to be a shark that multiplies itself and can change direction. This style was also used in "The Riddle", another song by Gigi D'Agostino, originally from British singer Nik Kershaw.
Chart performance
Chart (1999-00)PeakpositionIreland (IRMA)Search for Irish peaks23
References
External links
Category:1999 singles
Category:Gigi D'Agostino songs
Category:1999 songs
Category:ZYX Music singles
Category:Songs written by Gigi D'Agostino