function traverse { if [[ ! -e player.php\@id\=$(printf "%06d\\n" $1) ]]; then wget --retry-on-http-error=403 --retry-connrefused http://pwrfactory.ru/stats/as/player.php?id=$(printf "%06d\\n" $1) maxlinks=1000 local links=$( { for i in $(seq.exe 0 100 $maxlinks); do ID=$(wget --retry-on-http-error=403 --retry-connrefused -O - 'http://pwrfactory.ru/stats/as/player.php?id='$1'&vlimit=100&vsort=kills&vorder=desc&vstart='$i | grep -Po '(?<=player.php\?id=)\d+(?=[^\d])(?&2 echo $1 >&2 echo $ID >&2 echo `wc -l <<< $ID` >&2 echo ------------------------------------------ >&2 if [[ $ID ]]; then echo $ID fi if (( `wc -l <<< $ID` < 100 )); then break fi done; } | sort | uniq ); for l in $links; do traverse $l; done fi } # http://pwrfactory.ru/stats/as/index.php?sort=skill&order=desc&limit=500&q=&start=0 # http://pwrfactory.ru/stats/as/player.php?id=237669 # http://pwrfactory.ru/stats/as/player.php?id=237669&vlimit=100&vsort=kills&vorder=desc&vstart=0#victims cd /cygdrive/f/Sync/QT_STEAM/qbans/statdump/ mkdir `date +%Y%m%j`; cd `date +%Y%m%j` if [[ $1 != "" ]]; then pages=$1; else pages=3000; fi playerIDs=$( { for i in $(seq 0 500 $pages); do wget --retry-on-http-error=403 --retry-connrefused -O - 'http://pwrfactory.ru/stats/as/index.php?sort=skill&order=desc&limit=500&q=&start='$i | grep -Po '(?<=player.php\?id=)\d+' done; } | sort | uniq ); for pl in $playerIDs; do traverse $pl done