2014-12-19 6 views
1

최근에 비슷한 질문을했습니다 : Send expression to website return dynamic result (picture) 웹 페이지의 필드에 표현식을 보내지 않아도되는 오히려 반응을 얻었습니다. 일 끝났어.웹 사이트 필드에 표현식 보내기 동적 결과 (그림)

은 내가 발견하셨습니까이 파이썬 기반으로 설정 될 수 (G. 그로 텐 디크 지적) better regex visualizer (R에 가까운, 예를 들어이 http://www.regexper.com/가 오류를 throw합니다 (?<=foo) 같은 lookbehinds 수 있습니다). 여기서 볼 수 있듯이 시각적 인 결과를 Python에 드롭 다운 메뉴를 설정, 내가 (?<=foo)\s*foo[A-Z]\d{2,3}을 보낼 R을 사용하고 싶습니다 "(?<=foo)\\s*foo[A-Z]\\d{2,3}", 열거 나 반환 :

이 정규식을 사용하여

enter image description here

동일한에게 URL 트릭은 표현식이 입력 될 때 URL이 변경되지 않기 때문에 여기서는 작동하지 않습니다. 대신 내장 JavaScript가 결과를 반환합니다.

MWE

## Expression 
x <- "(?<=foo)\\s*foo[A-Z]\\d{2,3}" 
+0

png-snapshot으로 "완전한 대답"을 얻지는 못했지만 부분적인 대답이 매우 유용하다는 것을 발견했습니다. –

+1

좋은 [텍스트 기반] (http://rick.measham.id.au/paste/explain.pl?regex=%28%3F <% 3Dfoo % 29 % 5Cs * foo % 5BA-Z % 5D % 5Cd % 7B2 % 2C3 % 7D) 설명자 콘솔에 설명을 인쇄하려면 좋을 것입니다. – rawr

+0

@BondedDust agree. 수표를 보류하고 추가 생각할 시간을줍니다. –

답변

5

당신이 페이지 대화 형 등으로 상호 작용할 수있는 환경에서 작업해야합니다, 그래서 당신은 URL을 통해 페이지의 자바 스크립트 상태를 조작 할 수 없습니다 양식과 상호 작용하려면 RSelenium을 입력하십시오. 그러나 그것은 벌레의 꽃밥을 여는 것입니다. 그리고 그들은 당신이 그들의 서비스를 위해 돈을 지불하기를 원한다면 자동 스크래핑에 너무 열중하지 않을 수도 있습니다.

공식적으로 문서화 된 API가 없다고 말할 수 있지만 사이트에서 "공유"링크를 클릭하면 서버에 JSON 객체를 전송하여 공유 할 수있는 URL을 얻습니다. 즉, 페이로드를 사용하면 UI를 무시하고 직접 그 JSON의 콘텐츠를 게시하는 경우

{"title":"Untitled Regex", 
"description":"No description", 
"regex":"(?<=foo)\\s*foo[A-Z]\\d{2,3}\n", 
"flavor":"python", 
"strFlags":"", 
"testString":"My test data", 
"unitTests":"[]", 
"share":true} 

같은, 당신은 당신이 결과를보고 검색하는 데 사용할 수있는 고유 코드를 얻을 수 있습니다 보인다. 그 모양은 다음과 같습니다.

언제든지 구현을 변경할 수 있으므로 매우 약한 해결책입니다. 공식적으로 지원하는 기능을 사용하는 것이 가장 좋습니다.

+0

우수한 학습입니다. 당신이 지적한 해결책의 문제점들을 보았습니다. 그러나 그것이 최상의 해결책일지도 모릅니다. +1 –