爬虫基于ADSL动态获取ip
生活随笔
收集整理的這篇文章主要介紹了
爬虫基于ADSL动态获取ip
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
爬蟲訪問中,如何解決網站限制IP的問題??? ?
?
package?com.sesame.network;?? ?? import?java.io.BufferedReader;?? import?java.io.InputStreamReader;?? ?? public?class?ConnectNetWork?{?? ?? ????/**? ?????*?執行CMD命令,并返回String字符串? ?????*/?? ????public?static?String?executeCmd(String?strCmd)?throws?Exception?{?? ????????Process?p?=?Runtime.getRuntime().exec("cmd?/c?"?+?strCmd);?? ????????StringBuilder?sbCmd?=?new?StringBuilder();?? ????????BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(p?? ????????????????.getInputStream()));?? ????????String?line;?? ????????while?((line?=?br.readLine())?!=?null)?{?? ????????????sbCmd.append(line?+?"\n");?? ????????}?? ????????return?sbCmd.toString();?? ????}?? ?? ????/**? ?????*?連接ADSL? ?????*/?? ????public?static?boolean?connAdsl(String?adslTitle,?String?adslName,?String?adslPass)?throws?Exception?{?? ????????System.out.println("正在建立連接.");?? ????????String?adslCmd?=?"rasdial?"?+?adslTitle?+?"?"?+?adslName?+?"?"?? ????????????????+?adslPass;?? ????????String?tempCmd?=?executeCmd(adslCmd);?? ????????//?判斷是否連接成功?? ????????if?(tempCmd.indexOf("已連接")?>?0)?{?? ????????????System.out.println("已成功建立連接.");?? ????????????return?true;?? ????????}?else?{?? ????????????System.err.println(tempCmd);?? ????????????System.err.println("建立連接失敗");?? ????????????return?false;?? ????????}?? ????}?? ?? ????/**? ?????*?斷開ADSL? ?????*/?? ????public?static?boolean?cutAdsl(String?adslTitle)?throws?Exception?{?? ????????String?cutAdsl?=?"rasdial?"?+?adslTitle?+?"?/disconnect";?? ????????String?result?=?executeCmd(cutAdsl);?? ????????? ????????if?(result.indexOf("沒有連接")!=-1){?? ????????????System.err.println(adslTitle?+?"連接不存在!");?? ????????????return?false;?? ????????}?else?{?? ????????????System.out.println("連接已斷開");?? ????????????return?true;?? ????????}?? ????}?? ????? ????public?static?void?main(String[]?args)?throws?Exception?{?? ????????connAdsl("寬帶","hzhz**********","******");?? ????????Thread.sleep(1000);?? ????????cutAdsl("寬帶");?? ????????Thread.sleep(1000);?? ????????//再連,分配一個新的IP?? ????????connAdsl("寬帶","hzhz**********","******");?? ????}?? }??
?
開發了一個爬蟲,布置在自己的服務器上,請求某網站的查詢功能,然后抓取查詢結果,結果訪問才一會兒,就被提示封IP了。有什么好的解決方法嗎??
1. 某寶買代理,簡單,但是太貴;
2. ADSL動態獲取ip。
java代碼:
?
總結
以上是生活随笔為你收集整理的爬虫基于ADSL动态获取ip的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用BeautifulSoup来写pyth
- 下一篇: python3爬虫初探(一)之urlli