我正在製作一個腳本來計算網絡中單詞的分佈。我所要做的就是檢查儘可能多的隨機網站,並計算這些網站中的單詞數量,列出它們並對它們進行排序,以便大部分時間發生的單詞都是列表中的頂部。我在做什麼是隨機生成的IP號碼:在bash中獲取隨機的網站名稱
a=`expr $RANDOM % 255`
let "a+=1"
b=`expr $RANDOM % 256`
c=`expr $RANDOM % 256`
d=`expr $RANDOM % 256`
ip=$a.$b.$c.$d
後使用nmap我檢查端口80或8080是這些網站上的開放,使有機會的話,這是一個網站。
如果我確定該ip不屬於一個網站我將地址添加到黑名單文件,以便它不會再次檢查。
如果端口80或端口8080打開,那麼我必須通過反向查找來解析IP並獲取屬於該IP的所有域名。
的問題是,如果我做這些命令之一,產量僅是單一的PTR記錄,同時可以有多個:
dig -x ipaddres +short
nslookup ipaddress
host ipaddress
我prefere這在bash來解決,但如果有是C中的解決方案,它也可以幫助
之後,我使用w3m將網站頁面複製到文件,並計算單詞出現次數。
另外在這裏,我還有一個問題,有沒有辦法檢查屬於該網站的可用公共頁面,而不僅僅是索引?
任何幫助表示讚賞
端口掃描通常是不被接受的。雖然這是小規模的,只限於80港口,但我不認爲你會被抓住是不現實的;但我肯定會建議您至少檢查一下您的ISP的可接受使用政策對此有何評論。你可能不想冒這個風險你的互聯網訪問。無論如何,贊同毛澤東的答案; 「你這樣做是錯的」。 – tripleee 2012-08-04 06:32:53
可以通過從搜索結果中拉出(比方說)第六個Google命中來獲得一組隨機字典單詞的合理隨機網頁集合。這樣一來,你也不大可能會出現在不是英文的網站上,我認爲你想限制自己。在每次搜索中使用多個英文單詞以減少誤報的可能性。 (例如,「anaconda hat」可能是英語以外的一些語言,只使用較長的單詞可能會有所幫助,並且可能不會過多地扭曲結果;或者在每個查詢中包含「the」和「of」作爲搜索詞?) – tripleee 2012-08-04 06:41:00
...嗯,搜索兩個難得的單詞會導致結果嚴重偏向長文檔,如字典列表,所以不要這樣做。 – tripleee 2012-08-04 06:45:46