위키백과:봇/등록 신청/DaedanBot/4
위키백과, 우리 모두의 백과사전.
아래의 내용은 과거의 토론 내용입니다. 새로운 토론은 새 문단에서 다뤄주세요.
기여 • 총편집횟수 • 다른 언어판의 기여 • 통합 계정 목록 • 기록(문서 이동 기록 • 차단 기록 • 권한 기록 • 공통 권한 기록) • 차단 • 플래그 부여
- 봇의 이름: DaedanBot
- 봇 운영자: Gomdoli4696
- 프로그래밍 언어: AWB, Paws(일부)
- 자동/수동: 자동 또는 반자동, 가끔 수동
- 자세한 기능 설명
- {{분류 필요}}를 부착합니다.
- 틀의 인수 대체 작업을 하기도 합니다. 특수:차이/27259782 외.
- 분류 대체 작업도 합니다. 특수:차이/27251100 외.
- 기타 잡일.
- 봇 플래그가 있는 다른 언어판의 봇: 일본어판. (사용자 권한 기록, 봇 등록 신청)
- 추가 정보 (임의): 봇 편집 요청 등에서 봇이 필요한 부분이 많이 보이고 있으나 작업 시간 때문에 처리를 못한 적이 있었습니다. 또 최근 바뀜에 노출되지 않는다는 점을 이용해 이전에 잠시 했다가 중단했던, {{계정명 변경 권고}} 틀을 푸는 작업을 진행해보려고 합니다.
— Daedan (토론) 2020년 9월 10일 (목) 17:24 (KST)[답변]
토론[편집]
2020년 8월 말이나 그 이후에 신청하겠습니다. — 와정말대단하다 (토론) 2020년 6월 1일 (월) 21:33 (KST)[답변]
글 달아주실 때 핑해주시면 감사하겠습니다. — Daedan (토론) 2020년 9월 10일 (목) 17:24 (KST)[답변]
- 분류 필요 달기는 이미 TedBot이 맡고 있는 것으로 Raccoon Dog님께 들었습니다. 그렇다면 역할이 중복되는데 이런 작업을 대단봇으로 하시려는 이유가 있나요? --White.t. 2020년 9월 10일 (목) 17:54 (KST)[답변]
- 자주는 안합니다만 TedBot도 상시 가동되는 것은 아니기에 제가 오전에 봇을 켜면 몇개 작업할 것이 있더군요. — Daedan (토론) 2020년 9월 10일 (목) 18:22 (KST)[답변]
- 그렇군요. --White.t. 2020년 9월 10일 (목) 19:26 (KST)[답변]
- 자주는 안합니다만 TedBot도 상시 가동되는 것은 아니기에 제가 오전에 봇을 켜면 몇개 작업할 것이 있더군요. — Daedan (토론) 2020년 9월 10일 (목) 18:22 (KST)[답변]
질문 봇 편집 요청임을 전제로 하고 문제를 내보겠습니다.
- 문서 내용에는
http://example.org/files/img/43543/benzene.png https://example.org/files/img/16475/16-dimethylcyclohexene.jpg https://example.org/files/video/3221/int'l_union_introduction.avi http://example.org/files/video/93821/how_to_learn_biology.mp4 http://example.org/files/img/13943/methyl-group.png http://example.org/files/img/2324/fractionattr.bmp?width=640&length=480와 같이 사이트 주소가 있습니다. 이를
https://example.org/(img or video)/(확장자)/(파일 이름)?num=(숫자)와 같은 형식으로 모두 바꾸고 싶습니다.
예시: http://example.org/files/img/12345/helloworld.jpg → https://example.org/img/jpg/helloworld.jpg?num=12345
- 질문 1. 정규 표현식으로 어떻게 표현할 수 있습니까?
- 질문 2. 정규 표현식으로 가져온 그룹(괄호 ( ) 로 묶은 특정 문자열을 말합니다.)을 매치된 순서대로 $1, $2, $3 ... 이라 하자. 그렇다면 예시와 같이 바꾸는 방법을 그룹을 통해 설명하시오. (단, 사이트 주소는 모두 한 줄에 하나씩 나열되어야 한다.)
- 오토위키브라우저에서도 또한 그렇고 위키백과는 문자열을 다루는 곳이니 정규 표현식에 대해 알고 있어야 된다고 생각합니다. 요즘 오토위키브라우저 도움말을 통해 습득한 후 봇 계정을 생성하여 봇을 가동하는 것으로 아는데 봇 플래그를 부여받기 전에 이런 것으로 기본 지식을 테스트해서 통과해야 봇을 가동하는 사용자에 대한 신뢰감이 늘어날 것 같습니다. --Raccoon Dog (talk) 2020년 9월 11일 (금) 16:05 (KST)[답변]
질문 1에 대해 답변을 하겠습니다.
https?://example.org/files/(img|vidio)/(\d+)/(.+)[.](\w{3})
- →
https://example.org/$1/$4/$3.$4?num=$2
- 여기에서
http://example.org/files/img/2324/fractionattr.bmp?width=640&length=480
의?width=640&length=480
부분은 어떻게 해야 하는지 자세하게 말씀을 해주지 않으셔서 어떻게 해야 하는지 파악하지 못했습니다.
- 여기에서
질문 2의 경우
https?://example.org/files/(img|vidio)/(\d+)/(.+)[.](\w{3})
부분에서- 먼저
(img|vidio)
는 이미지와 비디오 파일 형식을 가져옵니다.$1
로 불러올 수 있습니다. (\d+)
는 숫자를 가져옵니다.$2
로 불러올 수 있습니다.(.+)
는 확장자를 제외한 파일 이름을 가져옵니다.$3
으로 불러옵니다.(\w{3})
은 세 글자의 확장자를 가져옵니다. 마찬가지로$4
로 불러옵니다.https?
는 http와 https 모두 거릅니다.
- 먼저
https://example.org/$1/$4/$3.$4?num=$2
부분에서- 각 배치에 맞게 그룹을 배열합니다.
@Raccoon Dog: 이상입니다. 문제가 있을 경우 지적해 주세요. — Daedan (토론) 2020년 9월 11일 (금) 19:35 (KST)[답변]
@Gomdoli4696: 답변 잘 봤습니다.
?width=640&length=480
의 경우 파일 이름 뒤에 붙는 단순 URL 파라미터이기 때문에 바꾸는 과정에서 따로 처리할 필요가 없습니다.- 정규 표현식에서:
example.org
라 하셨는데 이런 경우 주소가example가org
이더라도 정규 표현식에 따라 매치됩니다. 따라서 100 % 정확하게 걸러지지 않습니다. 다음 답변에서 올바르게 수정해주시기 바랍니다.
질문 마지막 질문 하겠습니다.
- 질문 3 : 해당 정규 표현식과 그룹 배열에서 다음과 같은 조건을 만족하고 제대로 작동되도록 수정하시오.
- (가) 정규 표현식의
\d+
에서+
를 사용하지 않는다. - (나) 정규 표현식의
[.]
에서[ ]
를 사용하지 않는다. - (다) 각 그룹 $1, $2, $3, $4는 한 번만 사용하도록 한다.
- (가) 정규 표현식의
--Raccoon Dog (talk) 2020년 9월 11일 (금) 20:23 (KST)[답변]
example.org
에서.
이 문자열 지정이 아닌 그냥 점으로 인식되도록 하려면[.]
을 사용하면 되겠습니다만 그러면 (나)에 걸리고, 숫자에서+
를 사용하지 않으면 어떻게 하는지 아직 모르겠습니다 — Daedan (토론) 2020년 9월 12일 (토) 09:30 (KST)[답변]- @Raccoon Dog: 젝 작성했던 것에 틀린 부분은
.
말고 더는 없었나요? 제가 질문 3은 잘 모르겠네요 — Daedan (토론) 2020년 9월 12일 (토) 11:32 (KST)[답변]- @Gomdoli4696: 정규 표현식에 정답이 있고 오답이 있진 않습니다. 다만 어떻게 짜느냐에 따라 얼마나 코드가 최적화되는지 등이 달려있습니다. 따라서
[ ]
도 그 안에 있는 문자들 중 하나가 포함되어있다는 뜻과 같으니[.]
를 쓰셔도 상관은 없습니다. 허나 여기서 제가 질문 3을 내드린 이유는 정규 표현식의 각종 표현들을 숙지하고 있냐를 관건으로 보기 위함이었습니다. 그 중 (다)는 평소에도 Daedan 님이 짜신 정규 표현식을 보았을 때 (\s분류 필요|\sSpeedy)와 같은 형식처럼 묶을 수 있는 부분을 일일이 전개하시는 것을 보고 효율적인 그룹화를 만들 수 있는지 테스트하기 위해 낸 문제입니다. 질문 1과 질문 2에 대해서는 잘 답변해주셨습니다.- (가)
\d+
대신 해당 주소들에는 숫자가 4개부터 5개까지 있으니\d{4,5}
로도 치환할 수 있습니다. - (나) 정규 표현식에서
.
을 일반 문자로 취급시키기 위해서 백 슬러시 (\)를 삽입해 이스케이프 문자로 만듭니다. 따라서 단순하게[.]
는\.
로 쓰면 됩니다. - (다) 각 그룹 중 $1은 이미지 또는 비디오 경로를 불러오고, $2는 숫자를 불러옵니다. 따라서 두 그룹은 수정할 필요가 없으나
$3.$4
를 더 간단하게 바꿀 수 있습니다.(.+)[.](\w{3})
대신에(.+\.(\w{3}))
라고 하면, $3은 파일 이름이 되고 $4는 확장자 이름이 됩니다. - 참고: (단, 사이트 주소는 모두 한 줄에 하나씩 나열되어야 한다.) 라는 조건이 있었습니다. 따라서 그룹을 배열하여 원하는 문자열을 만든 이후
\n
라는 개행 문자를 삽입하여야 한 줄에 한 주소씩 들어가게 됩니다.
- (가)
- 세 조건에 만족하는 정규 표현식과 그룹 배열은 따라서
https?://example\.org/files/(img|video)/(\d{4,5})/(.+\.(\w{3}))
https://example.org/$1/$4/$3?num=$2\n
- 가 되겠습니다. --Raccoon Dog (talk) 2020년 9월 12일 (토) 16:27 (KST)[답변]
- 대괄호보다 역슬러시가 더 쉬운 방법이었군요. 모두 감사합니다. — Daedan (토론) 2020년 9월 14일 (월) 16:07 (KST)[답변]
- @Gomdoli4696: 정규 표현식에 정답이 있고 오답이 있진 않습니다. 다만 어떻게 짜느냐에 따라 얼마나 코드가 최적화되는지 등이 달려있습니다. 따라서
- 정보 현재 진행하고 있는 작업(예: 특수:차이/27587516)은 아래 정규식을 사용하였습니다.
\<noinclude\>\[\[(Category|분류):위키백과 봇 등록 신청 글.+\]\]\<\/noinclude\>\n
- — Daedan (토론) 2020년 9월 16일 (수) 15:05 (KST)[답변]
- +분류 대체 작업은 파이썬을 이용하려고 하고 있습니다. — Daedan 2020년 11월 13일 (금) 15:57 (KST)[답변]
pwb.py category move -pt:60 -inplace
를 사용했습니다. category.py의 move 기능을 사용합니다. — Daedan 2020년 11월 13일 (금) 19:47 (KST)[답변]
해당 봇 운용자가 현재 활동을 중단한 것으로 확인되고, 봇 운용에 대하여 아직까지 확신이 없어 승인을 하지 아니하는 것으로 결정하여 요청을 닫습니다. --Sotiale (토론) 2021년 3월 20일 (토) 14:23 (KST)[답변]
위 토론은 보존되어 있습니다. 특별한 이유가 없다면 편집하지 말아 주세요.