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

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

이미지는 n1분마다 한 번씩 생성되며, 각 이미지를 내 로컬 디렉터리로 가져오고 싶습니다. 다음 명령을 사용하여 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
  • 요청 헤더를 수정하여 브라우저 에뮬레이션

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

관련 정보