爬虫访问中,如何解决网站限制IP的问题?

开发了一个爬虫,布置在自己的服务器上,请求某网站的查询功能,然后抓取查询结果,结果访问才一会儿,就被提示封IP了。有什么好的解决方法吗?

1. 某宝买代理,简单,但是太贵;

2. ADSL动态获取ip。

java代码:

  1. package com.sesame.network;
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. public class ConnectNetWork {
  5. /**
  6. * 执行CMD命令,并返回String字符串
  7. */
  8. public static String executeCmd(String strCmd) throws Exception {
  9. Process p = Runtime.getRuntime().exec("cmd /c " + strCmd);
  10. StringBuilder sbCmd = new StringBuilder();
  11. BufferedReader br = new BufferedReader(new InputStreamReader(p
  12. .getInputStream()));
  13. String line;
  14. while ((line = br.readLine()) != null) {
  15. sbCmd.append(line + "\n");
  16. }
  17. return sbCmd.toString();
  18. }
  19. /**
  20. * 连接ADSL
  21. */
  22. public static boolean connAdsl(String adslTitle, String adslName, String adslPass) throws Exception {
  23. System.out.println("正在建立连接.");
  24. String adslCmd = "rasdial " + adslTitle + " " + adslName + " "
  25. + adslPass;
  26. String tempCmd = executeCmd(adslCmd);
  27. // 判断是否连接成功
  28. if (tempCmd.indexOf("已连接") > 0) {
  29. System.out.println("已成功建立连接.");
  30. return true;
  31. } else {
  32. System.err.println(tempCmd);
  33. System.err.println("建立连接失败");
  34. return false;
  35. }
  36. }
  37. /**
  38. * 断开ADSL
  39. */
  40. public static boolean cutAdsl(String adslTitle) throws Exception {
  41. String cutAdsl = "rasdial " + adslTitle + " /disconnect";
  42. String result = executeCmd(cutAdsl);
  43. if (result.indexOf("没有连接")!=-1){
  44. System.err.println(adslTitle + "连接不存在!");
  45. return false;
  46. } else {
  47. System.out.println("连接已断开");
  48. return true;
  49. }
  50. }
  51. public static void main(String[] args) throws Exception {
  52. connAdsl("宽带","hzhz**********","******");
  53. Thread.sleep(1000);
  54. cutAdsl("宽带");
  55. Thread.sleep(1000);
  56. //再连,分配一个新的IP
  57. connAdsl("宽带","hzhz**********","******");
  58. }
  59. }

爬虫基于ADSL动态获取ip相关推荐

  1. virtualbox vm linux 动态获取ip

    修改动态获取ip命令: cd /etc/network/ 修改文件文件中 vi interfaces auto eth0 iface eth0 inet dhcp

  2. VMware虚拟机在仅主机模式下的网卡无法动态获取IP

    自己在VMware虚拟机中开启一台主机的时候,发现比以往的开机速度慢了好多,起初不以为然,直到用Xshell通过ssh远程连接eth1的ip地址才发现连接失败(这个ip是之前eth1正常的时候获取的i ...

  3. Android通过反射EthernetManager Api设置以太网为静态IP地址或者动态获取IP

    一.对于一些工控行业的Android主板一般都会扩展个以太网接口,也就是可以插网线进行上网:然后在系统设置页面有个以太网菜单可以进行IP.网关等设置,如下: 二.那怎么通过代码去设置呢? 1.Andr ...

  4. 思科dhcp服务器动态获取ip地址

    项目要求: 某公司共有网管中心.行政部.技术部.三个部门,分别处在一栋大楼中的两个楼层,为了保证公司内部主机始终能够连接Internet,采用双向冗余设计,分别使用路由器R1与路由器R2连接中国电信和 ...

  5. centos7安装dhcp服务器并由客户端动态获取IP地址

    主机架构: 角色 ip地址 网关 dhcp服务器 192.168.8.81 192.168.8.1 客户机1 动态获取 192.168.8.81 客户机2 192.168.8.99 192.168.8 ...

  6. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  7. 多路由器串联以及动态获取ip

    一级路由和2级路由是有区别的,你要把1级路由的LAN口连接到2级理由的WAN口这样才可以成为两个局域网,然后把2级路由的DHCP服务器开了就可以获取到了!!,注意1级和2级的IP不能再同一网段,希望对 ...

  8. CentOS设置网卡成DHCP动态获取IP

    1)编辑网卡配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0,其中eth0是网卡设备别名,代表第一块网卡,如果要编辑其它网卡的配置文件,可能就要把这个 ...

  9. liunx动态获取ip解决花生壳动态域名失效问题

    现象描述: 1. 我们有些客户是在公司内网,但是也想在外网访问,所以这个时间就想到使用花生壳来实现,搭建nginx来进行反向代理到花生壳域名. 2.搭建完花生壳动态域名解析服务和nginx反向代理服务 ...

最新文章

  1. tf.placeholder类似函数中的形参
  2. linux切换图片的代码,cacaview – Linux终端下将图片转换ASCII Art代码图案
  3. JAVA——Unicode编码格式工具类
  4. Java学习笔记二十二:Java的方法重写
  5. java File类 打印目录树状结构(递归)
  6. 前端:Element UI 多选框组用法笔记
  7. Codeforces Round #727 (Div. 2) E. Game with Cards dp + 思维
  8. '800a0005' 图片上传出现写入文件失败的错误 -- 修改pload_5xsoft.inc
  9. 【开源软件】windows环境下libcurl编译
  10. 使用@selector模仿代理功能降低代码耦合度
  11. 如何弥补mac系统存在的局限性
  12. JavaScript封装对象和类
  13. SL会员商城系统后台管理模板
  14. ALV 单元格控制参数LVC_S_STYL排序问题
  15. 聊一聊机器学习的MLE和MAP:最大似然估计和最大后验估计
  16. Shave Beaver! CodeForces - 331B2 (线段树)
  17. html中无语义的标签,HTML语义类标签都有哪些?
  18. matlab 椭圆方程拟合,matlab中如何插值拟合求椭圆方程
  19. 如何利用Qt 3D 渲染与 Qt Quick 2D 元素结合创建太阳系行星元素?
  20. 硬件工程师电路设计十大要点

热门文章

  1. android最新版本 note8,三星Note8官方国行版安卓9固件rom升级包:CHC-N9500ZCS4DSF5
  2. 加载gif动图_【知乎编辑技巧】GIF动图 的插入 2020.05
  3. 台式计算机序列号在哪,台式机如何查看序列号
  4. sql的加减乘除运算_SQL简单查询语、运算符学习和练习
  5. java 向已存在的excel中追加数据 .
  6. Xcode搭建真机调试环境 图文实例
  7. 第一台计算机豹电器元件,电气基础和安全知识.ppt
  8. 计算机类警察限制身高吗,招警考试对身高有要求吗?男生170cm以下能否报考公安警察?...
  9. 在线ocr文字识别_PandaOCR:最佳免费 OCR 文字识别工具
  10. python 画图设置横纵坐标_Python输出高质量论文图片