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