wget을 사용하여 프레임 소스를 얻는 방법은 무엇입니까?

wget을 사용하여 프레임 소스를 얻는 방법은 무엇입니까?

servicenow 웹사이트에서 HTML 데이터를 가져오려고 합니다. 프레임을 사용하는데 wget을 사용하여 프레임 소스를 추출하고 싶습니다. 이 작업을 수행하는 옵션/플래그를 찾을 수 없습니다. 프레임 소스가 아닌 페이지 소스만 추출할 수 있습니다.

wget -q https://company.service-now.com/task.do?sysparm_query=number=TASK0299719

Chrome에서 웹사이트 일부를 마우스 오른쪽 버튼으로 클릭합니다.

답변1

프레임은 일반 링크와 마찬가지로 자체 URL이 있는 별도의 페이지입니다. 프레임을 사용하여 첫 번째 페이지 작성자는 사용자가 페이지를 클릭하여 자체적으로 표시할 때까지 기다리지 않고 두 번째 페이지를 즉시 검색하여 첫 번째 페이지 내에 표시해야 함을 나타냅니다.

wget에는 아무것도 표시되지 않고 대화형 사용자도 없으므로 프레임과 링크의 구분은 의미가 없습니다. 따라서 이 질문은 "나는 wget이 링크를 따르길 원합니다"의 특별한 경우로 생각하면 됩니다.

-rwget 에는 원래 URL의 링크를 따라가서 다운로드하는 재귀 모드( )가 있습니다 . 다운로드하고 싶지 않을 수도 있습니다모두링크 URL이 너무 많아서 범위를 줄여야 합니다.

이것이 일회성 작업이거나 프레임의 URL이 안정적인 경우 원본 페이지 소스를 직접 읽고 iframe 요소의 src 속성을 찾은 다음 wget에 해당 속성을 가져오도록 요청하면 됩니다.

wget이 더 많은 작업을 수행하도록 하려면 이 --follow-tags옵션을 사용하여 iframe URL만 가져오도록 요청할 수 있습니다.

wget -r --follow-tags=iframe http://yourpage/

그러면 페이지와 페이지에 포함된 모든 iframe이 다운로드됩니다. iframe 내에 iframe이 있는 경우 재귀 깊이 제한(예: )을 지정하지 않는 한 해당 iframe도 가져옵니다 -l 1.

관련 정보