爬虫经常用到ip代理。解决方案无非几种:

1.网络上寻找一些免费代理,优点:免费不限量;缺点:可用性较低,验证费时间费资源。一些有免费代理的网站,西刺代理站大爷89免费代理等等,网上可以搜出一大堆。

2.购买代理ip,和找免费的差不多,一般有免费代理ip的网站基本都有收费的api。优点:可用性较高,较稳定。缺点:要钱。严格说,这个也不算缺点,要钱很多人也能接受,带来的方便还是很大程度的。

3.自己搭建ip代理,自己租服务器自己搭。优点:稳定,可控。缺点:麻烦,成本高。

暂时接触过的就这几种,不同的场景使用不同的方案。

目前有需要一个稳定ip,于是整一台服务器自己搭一下就可以。搭建代理也有很多种协议,工具,这里使用tinyproxy,简单方便。

安装配置流程:

一、首先安装tinyproxy

执行命令 yum -y install tinyproxy

找不到安装包的时候可以装一下epel。

安装 yum install epel-release

二、配置

编辑tinyproxy的配置文件

vi /etc/tinyproxy/tinyproxy.conf

1.更改端口,默认8888。可以更改为自己喜欢的端口,也可不修改,直接使用8888端口。

找到"Port"字样,修改紧跟其后的数字即可。

2.修改允许连接代理的ip。默认只允许本地。

找到"Allow"字样,修改其后的ip,如有多个,可写多个Allow。这里选择注释掉,允许所有ip连接。

3.开启服务

使用命令

service tinyproxy start 或

/bin/systemctl start tinyproxy.service

三、验证

多种验证方式

可以使用curl,在需要代理的机器上执行命令。

1.执行:

curl -x httpbin.org/get

返回:

2.执行:

curl ip.sb --proxy

返回

也可以使用其他验证方式,如浏览器使用此代理,访问获取本地ip的网站等。

若验证失败,可能是端口没开,使用iptables开放端口。

iptables -I INPUT -p tcp --dport -j ACCEPT

tinyproxy总结:

*tinyproxy对于IP代理来说满足了最基本的需求。

*资源消耗较小,配置简单。

*http,https均支持。

*这种代理方式是透明代理。

使用tinyproxy进行ip代理的更多相关文章

  1. 使用tinyproxy搭建http代理

    一.前言   二.搭建环境 * Linux laptop 2.6.32-45-generic #100-Ubuntu SMP Wed Nov 14 10:41:11 UTC 2012 i686 GNU ...

  2. python获取ip代理列表爬虫

    最近练习写爬虫,本来爬几张mm图做测试,可是爬到几十张的时候就会返回403错误,这是被网站服务器发现了,把我给屏蔽了. 因此需要使用代理IP.为了方便以后使用,我打算先写一个自动爬取ip代理的爬虫,正 ...

  3. 开源IP代理池续——整体重构

    开源IP代理池 继上一篇开源项目IPProxys的使用之后,大家在github,我的公众号和博客上提出了很多建议.经过两周时间的努力,基本完成了开源IP代理池IPProxyPool的重构任务,业余时间 ...

  4. 被IP代理网站屏蔽了,真是跪了

    被IP代理网站http://www.xicidaili.com/nn/屏蔽了,真是跪了 T T

  5. Linux IP代理筛选系统(shell+proxy)

    代理的用途 其实,除了抓取国外网页需要用到IP代理外,还有很多场景会用到代理: 通过代理访问一些国外网站,绕过被某国防火墙过滤掉的网站 使用教育网的代理服务器,可以访问到大学或科研院所的内部网站资源 ...

  6. 随机IP代理

    第一个例子就设置了一个代理IP,也是不靠谱的,最好的方式就是多设置几个,如第二个例子,通过http://www.youdaili.net/Daili/你可以找到很多代理IP, 抓取国内网站时尽量选取中 ...

  7. 记一次企业级爬虫系统升级改造(六):基于Redis实现免费的IP代理池

    前言: 首先表示抱歉,春节后一直较忙,未及时更新该系列文章. 近期,由于监控的站源越来越多,就偶有站源做了反爬机制,造成我们的SupportYun系统小爬虫服务时常被封IP,不能进行数据采集. 这时候 ...

  8. 爬取西刺ip代理池

    好久没更新博客啦~,今天来更新一篇利用爬虫爬取西刺的代理池的小代码 先说下需求,我们都是用python写一段小代码去爬取自己所需要的信息,这是可取的,但是,有一些网站呢,对我们的网络爬虫做了一些限制, ...

  9. scrapy_随机ip代理池

    什么是ip代理? 我们电脑访问网站,其实是访问远程的服务器,通过ip地址识别是那个机器访问了服务器,服务器就知道数据该返回给哪台机器,我们生活中所用的网络是局域网,ip是运营商随机分配的,是一种直接访 ...

随机推荐

  1. svn本地文件颜色详解

    1.红色感叹号表示这个文件从服务器上下载下来以后,在本地被修改过.这时执行提交操作就可以了.2.黄色感叹号表示这个文件在提交的时候发现存在冲突,也就是说有别人在你提交之前对这个文件的同一个版本进行了修 ...

  2. 测试ssh转发

    端口转发提供: 1.加密 SSH Client 端至 SSH Server 端之间的通讯数据. 2.突破防火墙的限制完成一些之前无法建立的 TCP 连接. 但是只能转发tcp连接,想要转发UDP,需要 ...

  3. Mac下配置多个SSH Keys

    Mac下配置多个SSH Keys 生成SSH key # Creates a new ssh key using the provided email # 默认生成的文件名为id_rsa,可以根据命令 ...

  4. 欢迎关注微信公众号codefans一起交流技术

  5. centos7安装Scala、Spark(伪分布式)

    centos7安装spark(伪分布式) spark是由scala语言开发的,首先需要安装scala. Scala安装 下载scala-2.11.8,(与spark版本要对应) 命令:wget htt ...

  6. Shell中test比较

    数字比较 比较 描述 -eq 检查是否相等 -ge 检查是否大于或等于 -gt 检查是否大于 -le 检查是否小于或者等于 -lt 检查是否小于 -ne 检查是否不等于 字符串比较 = 检查字符串1和 ...

  7. ReDOS攻击

    正则表达式拒绝服务攻击(Regular Expression Denial of Service)当开发人员编写的正则表达式存在缺陷时,攻击者可以构造特殊的字符串来大量消耗服务器资源,最终造成拒绝服务 ...

  8. docker运行报错docker0: iptables: No chain/target/match by that name.

    转自:https://blog.csdn.net/wohaqiyi/article/details/84450562 docker运行报错docker0: iptables: No chain/tar ...

  9. 怎么将本地项目放到码云(gitee)上面?图文详解

    git的好处什么的,在此就不多赘述.现在很多公司都在用git了. 那么怎么将本地已经有的项目放到码云(gitee)上呢? 前置条件说明: 1:原来项目所在位置:D:\workspace01\class ...

  10. GTID复制

    什么是GTID呢, 简而言之,就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID是事务提交时创建分配 ...