페이지 내에서 이미지 이름을 변경합니다.

페이지 내에서 이미지 이름을 변경합니다.

이미지는 1분마다 생성되며 n각 이미지를 로컬 디렉터리로 가져오고 싶습니다. png 이미지를 얻기 위해 다음 명령을 사용하여 성공하지 못했습니다.

wget -r -l1 --no-parent -A.png http://url.com/home/images/

홈페이지에서 차단되어 있어서 사용할 수가 없어요

wget http://url.com/home/images/filename.png

업데이트에 따라 이미지 이름이 변경되기 때문입니다.

그러나 이미지가 링크되어 http://url.com/home/index.html있으므로 거기에서 파일 이름을 얻을 수 있습니다. 이를 수행하는 신뢰할 수 있는 방법은 무엇입니까? 나는 검색할 패턴을 알고 있습니다. 이는 디렉토리에서 호출되는 유일한 이미지입니다 /home/images/.

답변1

두 가지 전략:

  • index.html grep전략

다음에 png 참조가 하나만 있는 한 작동합니다 index.html.

#!/bin/bash
wget http://url.com/home/images/index.html
LINK=$(cat index.html | grep -zPo 'href=.*.png"')
LINK=${LINK#href=\"}; LINK=${LINK%\"}
wget --no-parent "http://url.com/home/images/$LINK"
rm index.html
  • 요청 헤더를 수정하여 브라우저를 에뮬레이트합니다.

이를 수행하는 방법의 예는 다음과 같습니다.여기,여기그리고여기.

관련 정보