> 백엔드 개발 > 파이썬 튜토리얼 > 위키 링크에서 데이터를 추출하는 방법은 무엇입니까?

위키 링크에서 데이터를 추출하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-02-05 23:12:08
앞으로
1108명이 탐색했습니다.

위키 링크에서 데이터를 추출하는 방법은 무엇입니까?

질문 내용

mwparserfromhell 라이브러리에서 반환된 위키 링크에서 데이터를 추출하고 싶습니다. 예를 들어 다음 문자열을 구문 분석하고 싶습니다.

으아악

캐릭터를 사용한다면 | 分割字符串,则它不起作用,因为图像描述中也有一个使用 | 的链接: [[玛丽亚·斯克沃多夫斯卡-居里博物馆|出生地]].

정규식을 사용하여 먼저 문자열의 모든 링크를 바꾼 다음 분할했습니다. (이 경우) 작동하지만 깔끔한 느낌은 아닙니다(아래 코드 참조). 이와 같은 문자열에서 정보를 추출하는 더 좋은 방법이 있습니까?

[[file:warszawa, ul. freta 16 20170516 002.jpg|thumb|upright=1.18|[[maria skłodowska-curie museum|birthplace]] of marie curie, at 16 freta street, in [[warsaw]], [[poland]].]]
로그인 후 복사

정답


.filter_wikilinks() 返回的链接是 wikilink 类,该类具有 titletext 속성입니다.

  • title 返回链接的标题:file:warszawa, ul。弗雷塔16 20170516 002.jpg
  • text 返回链接的其余部分:thumb|upright=1.18|[[maria skłodowska-curie museum|birthplace]] 玛丽·居里 (marie curie),地址:16 freta street,[[华沙]],[[波兰]]。

이것들은 wikicode개체로 반환됩니다.

실제 텍스트는 항상 마지막 조각이므로 먼저 다음 정규식을 사용하여 다른 조각을 찾아야 합니다.

([^[]|]*|)+

  • ( ): 그룹
    • [^[]|]*: 대괄호나 세로 막대가 아닌 문자 0개 이상
    • |: 텍스트 파이프라인
  • +: 1개 이상

마지막으로 일치하는 끝 인덱스부터 문자열 끝까지의 모든 것이 마지막 조각입니다.

으아악

위 내용은 위키 링크에서 데이터를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿