상호 작용이 필요한 웹 페이지에서 링크 추출

상호 작용이 필요한 웹 페이지에서 링크 추출

Linux 셸의 웹페이지에서 링크를 추출하는 방법을 알아내려고 합니다. 여기서 링크는 github의 "자산"과 같은 웹페이지의 버튼을 클릭한 후에만 나타납니다. 다운로드 페이지를 사용하면 wget자산의 링크가 포함되지 않습니다.

wget -O /dev/stdout "https://github.com/yuzu-emu/yuzu-mainline/releases/latest" 2>/dev/null | grep ".AppImage"

반품 링크가 없습니다. 보다 일반적으로 일부 웹 페이지에는 상호 작용 후에만 표시되는 요소가 포함되어 있습니다. 이러한 요소를 표시하는 HTML을 어떻게 얻을 수 있습니까?

답변1

당신을 위한특정한예를 들어, github API를 사용하는 것이 웹을 스크랩하는 것보다 낫습니다. 예를 들어:

curl https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases/tags/mainline-0-1180

jq그러면 (또는 JSON 지원으로 선호하는 언어) 구문 분석할 수 있는 게시물 정보(자산 목록 포함)가 포함된 JSON 블로그가 반환됩니다.


보다 일반적으로 페이지가 로드된 후 Javascript를 통해 동적으로 업데이트되는 페이지의 콘텐츠에 액세스하려는 경우 셸에서는 쉽게 이 작업을 수행할 수 없습니다.

일반적으로 다음과 같은 것이 필요합니다.극작가또는셀렌브라우저를 프로그래밍 방식으로 제어할 수 있는 이러한 도구를 사용하려면 일반적으로 더 강력한 언어(Javascript, Python 등)를 사용해야 합니다.

관련 정보