我正在尝试抓取歌词网站并制作了相当不错的脚本(尽管运行缓慢,因为这是我第一次)
#!/bin/bash
touch visited
touch tobe
>visited
>tobe
url=$(echo http://www.azlyrics.com/)
UA=$(echo "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A")
wget -q $url --user-agent=$(echo UA) -O index.html
cat index.html | grep \"http.*.html\" -o | cut -f2 -d\" >> temp_tobe
for i in `cat temp_tobe`;
do
basename $(echo $i) >> tobe
done
rm temp_tobe
while true;
do
for i in `cat tobe`;
do
echo getting $url -> $i
wget -q $url$i --user-agent=$(echo UA)
echo $i >> visited
#PUT THE NEW LINK TO TOBE
cat $(basename $(echo $url$i)) | grep \".*.html\" -o | cut -f2 -d\" >> tobe
#SORT VISITED
cat visited | sort | uniq > tmp && mv tmp visited
#SORT TOBE
cat tobe | sort | uniq > tmp && mv tmp tobe
#REMOVE THE INTERSECTION FROM TOBE
comm -23 tobe visited > tmp && mv tmp tobe
done
done
但我认为我已被列入黑名单,因为我什至无法从浏览器访问该网站。我启动了我的 VPN,但仍然无法访问该网站(这太疯狂了!!!)The connection was reset
每次都说
我听说过一种不断更改 IP 的技术(搭载其他在线用户)
您能否告诉我如何实现此目标(最好是这个)或仍然可以访问该网站的任何其他方法
如果需要,请要求澄清
答案1
我可以建议一种方法来做到这一点,也许它不是最好的,但它可以完成工作。在您的脚本中使用tor
调用torify
或之前的工具:torsocks
wget
torify wget -q $url --user-agent=$(echo UA) -O index.html
这个命令会让请求扔到服务器上,但是,首先你必须下载tor
服务器然后午餐它,之后填充免费做你想做的事情torify
:
要安装它,例如在 CentOS 或 Ubunutu 上:
yum install tor
apt-get install tor
默认情况下torify
将安装。