爬虫基于ADSL动态获取ip
爬虫访问中,如何解决网站限制IP的问题?
开发了一个爬虫,布置在自己的服务器上,请求某网站的查询功能,然后抓取查询结果,结果访问才一会儿,就被提示封IP了。有什么好的解决方法吗?
1. 某宝买代理,简单,但是太贵;
2. ADSL动态获取ip。
java代码:
- 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**********","******");
- }
- }
爬虫基于ADSL动态获取ip相关推荐
- virtualbox vm linux 动态获取ip
修改动态获取ip命令: cd /etc/network/ 修改文件文件中 vi interfaces auto eth0 iface eth0 inet dhcp
- VMware虚拟机在仅主机模式下的网卡无法动态获取IP
自己在VMware虚拟机中开启一台主机的时候,发现比以往的开机速度慢了好多,起初不以为然,直到用Xshell通过ssh远程连接eth1的ip地址才发现连接失败(这个ip是之前eth1正常的时候获取的i ...
- Android通过反射EthernetManager Api设置以太网为静态IP地址或者动态获取IP
一.对于一些工控行业的Android主板一般都会扩展个以太网接口,也就是可以插网线进行上网:然后在系统设置页面有个以太网菜单可以进行IP.网关等设置,如下: 二.那怎么通过代码去设置呢? 1.Andr ...
- 思科dhcp服务器动态获取ip地址
项目要求: 某公司共有网管中心.行政部.技术部.三个部门,分别处在一栋大楼中的两个楼层,为了保证公司内部主机始终能够连接Internet,采用双向冗余设计,分别使用路由器R1与路由器R2连接中国电信和 ...
- 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 ...
- [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...
- 多路由器串联以及动态获取ip
一级路由和2级路由是有区别的,你要把1级路由的LAN口连接到2级理由的WAN口这样才可以成为两个局域网,然后把2级路由的DHCP服务器开了就可以获取到了!!,注意1级和2级的IP不能再同一网段,希望对 ...
- CentOS设置网卡成DHCP动态获取IP
1)编辑网卡配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0,其中eth0是网卡设备别名,代表第一块网卡,如果要编辑其它网卡的配置文件,可能就要把这个 ...
- liunx动态获取ip解决花生壳动态域名失效问题
现象描述: 1. 我们有些客户是在公司内网,但是也想在外网访问,所以这个时间就想到使用花生壳来实现,搭建nginx来进行反向代理到花生壳域名. 2.搭建完花生壳动态域名解析服务和nginx反向代理服务 ...
最新文章
- tf.placeholder类似函数中的形参
- linux切换图片的代码,cacaview – Linux终端下将图片转换ASCII Art代码图案
- JAVA——Unicode编码格式工具类
- Java学习笔记二十二:Java的方法重写
- java File类 打印目录树状结构(递归)
- 前端:Element UI 多选框组用法笔记
- Codeforces Round #727 (Div. 2) E. Game with Cards dp + 思维
- '800a0005' 图片上传出现写入文件失败的错误 -- 修改pload_5xsoft.inc
- 【开源软件】windows环境下libcurl编译
- 使用@selector模仿代理功能降低代码耦合度
- 如何弥补mac系统存在的局限性
- JavaScript封装对象和类
- SL会员商城系统后台管理模板
- ALV 单元格控制参数LVC_S_STYL排序问题
- 聊一聊机器学习的MLE和MAP:最大似然估计和最大后验估计
- Shave Beaver! CodeForces - 331B2 (线段树)
- html中无语义的标签,HTML语义类标签都有哪些?
- matlab 椭圆方程拟合,matlab中如何插值拟合求椭圆方程
- 如何利用Qt 3D 渲染与 Qt Quick 2D 元素结合创建太阳系行星元素?
- 硬件工程师电路设计十大要点
热门文章
- android最新版本 note8,三星Note8官方国行版安卓9固件rom升级包:CHC-N9500ZCS4DSF5
- 加载gif动图_【知乎编辑技巧】GIF动图 的插入 2020.05
- 台式计算机序列号在哪,台式机如何查看序列号
- sql的加减乘除运算_SQL简单查询语、运算符学习和练习
- java 向已存在的excel中追加数据 .
- Xcode搭建真机调试环境 图文实例
- 第一台计算机豹电器元件,电气基础和安全知识.ppt
- 计算机类警察限制身高吗,招警考试对身高有要求吗?男生170cm以下能否报考公安警察?...
- 在线ocr文字识别_PandaOCR:最佳免费 OCR 文字识别工具
- python 画图设置横纵坐标_Python输出高质量论文图片