反爬虫之搭建IP代理池
反爬虫之搭建IP代理池
听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部。可惜加了header请求头,加了cookie 还是被限制爬取了。这时就得祭出IP代理池!!!

下面就是requests使用ip代理例子
response = requests.get(url,proxies=proxies)
这样就可以使用你定义的代理地址去访问网站了
但IP代理哪里来阿?有两种方式
- 付费API接口(IP量多,稳定)
- 免费IP代理 (IP量少,不稳定,但免费呀,基础爬虫已够)

这时我们可以搞个IP代理池,思路就是通过python爬取大量免费代理IP,然后进行存活验证,再提供接口使用。
其实这种事早就有人写了,github上有很多优秀的项目,这里分享两个。(问题是我不会写,Python从入门到放弃)
这里我用第一个项目吧,毕竟Star 6k多
这时先安装一下redis(步骤省略,记得勾上添加环境变量和放行防火墙)

以上说明我们已经成功安装了redis
下面我们将redis安装成windows服务,自启动
进到redis目录下,然后执行redis-server --service-install redis.windows-service.conf

注意:不要找错了 通常为redis.windows-service.conf 而不是redis.windows.conf 后者是以非系统服务方式启动程序使用的配置文件。
这时还得去看服务有没有开启

修改数据库密码等配置项,一般测试环境都无需加密码,这里还是加一下吧
打开Redis服务配置文件redis.windows-service.conf,找到含有requirepass字样的地方,追加一行,输入requirepass 12345 并保存!!!

重启一下服务(刚才是开着的,现在先关后开)

Tips!!!
启动临时服务: redis-server.exe redis.windows.conf
客户端调用: redis-cli.exe -h 127.0.0.1 -p 6379
卸载服务: redis-server.exe --service-uninstall
打开RedisClient 管理工具 点击 服务器 > 添加

配置proxy_pool项目,首先在项目目录下安装依赖

配置Config/setting.py 其中如果有更改IP、端口、密码的在圈圈里面修改并保存!(代理池访问网址端口也可以在文件最底下改)

上面配置启动后,默认代理池访问地址为 http://127.0.0.1:5010
如果你的依赖已经安全完成并且具备运行条件,可以直接在Run下运行main.py。
如果运行成功你应该看到有4个main.py进程,你也可以分别运行他们,依次到Api下启动ProxyApi.py,Schedule下启动ProxyRefreshSchedule.py和ProxyValidSchedule.py即可。
把项目跑起来!!!

在RedisClient 工具下查看数据

API使用

大致搭建过程就在这里啦,不过免费的IP代理还是差很多,生产环境需求最好还是花钱购买API接口,质量好!!!
反爬虫之搭建IP代理池的更多相关文章
- [爬虫]一个易用的IP代理池
一个易用的IP代理池 - stand 写爬虫时常常会遇到各种反爬虫手段, 封 IP 就是比较常见的反爬策略 遇到这种情况就需要用到代理 IP, 好用的代理通常需要花钱买, 而免费的代理经常容易失效, ...
- python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用
站长资讯平台:python3爬虫系列19之随机User-Agent 和ip代理池的使用我们前面几篇讲了爬虫增速多进程,进程池的用法之类的,爬虫速度加快呢,也会带来一些坏事. 1. 前言比如随着我们爬虫 ...
- 记一次企业级爬虫系统升级改造(六):基于Redis实现免费的IP代理池
前言: 首先表示抱歉,春节后一直较忙,未及时更新该系列文章. 近期,由于监控的站源越来越多,就偶有站源做了反爬机制,造成我们的SupportYun系统小爬虫服务时常被封IP,不能进行数据采集. 这时候 ...
- Python爬虫之ip代理池
可能在学习爬虫的时候,遇到很多的反爬的手段,封ip 就是其中之一. 对于封IP的网站.需要很多的代理IP,去买代理IP,对于初学者觉得没有必要,每个卖代理IP的网站有的提供了免费IP,可是又很少,写了 ...
- python爬虫实战(三)--------搜狗微信文章(IP代理池和用户代理池设定----scrapy)
在学习scrapy爬虫框架中,肯定会涉及到IP代理池和User-Agent池的设定,规避网站的反爬. 这两天在看一个关于搜狗微信文章爬取的视频,里面有讲到ip代理池和用户代理池,在此结合自身的所了解的 ...
- python爬虫18 | 就算你被封了也能继续爬,使用IP代理池伪装你的IP地址,让IP飘一会
我们上次说了伪装头部 ↓ python爬虫17 | 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部 让自己的 python 爬虫假装是浏览器 小帅b主要是想让你知道 在爬取网站的时候 ...
- 免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作简易流量爬虫
前言 我们之前的爬虫都是模拟成浏览器后直接爬取,并没有动态设置IP代理以及UserAgent标识,本文记录免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作 ...
- python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫
用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...
- 静听网+python爬虫+多线程+多进程+构建IP代理池
目标网站:静听网 网站url:http://www.audio699.com/ 目标文件:所有在线听的音频文件 附:我有个喜好就是听有声书,然而很多软件都是付费才能听,免费在线网站虽然能听,但是禁ip ...
随机推荐
- 题解 [HNOI2002]DNA分子的最佳比对 (洛谷P2268)
题目传送门 (这道题告诉我:初始化要小心) 有没有一点最长公共子序列的赶脚(口胡) 但我觉得挺像 设 表示匹配到s1的第i位,s2的第j位,则有 的初始化要注意:根据的含义,表示s1[i]一直在匹配空 ...
- Nginx功能介绍
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的. 从2004年发布至今,凭借开元的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作 ...
- windows/Linux下设置ASP.Net Core开发环境并部署应用
10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...
- 重置 linux系统后要配置的基本组件操作
1.安装jdk https://www.cnblogs.com/shihaiming/p/5809553.html 2.安装mysql 3.安装tomcat
- sql 模版
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- ...
- jstl表达式的应用的条件
在el表达式中,有时我们要写for循环,这时我们要写 <c:forEach items="${list}" var="news" > </c: ...
- SpringBoot:异步开发之异步调用
前言 除了异步请求,一般上我们用的比较多的应该是异步调用.通常在开发过程中,会遇到一个方法是和实际业务无关的,没有紧密性的.比如记录日志信息等业务.这个时候正常就是启一个新线程去做一些业务处理,让主线 ...
- Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...
- Android(java)学习笔记115:BroadcastReceiver之 Android广播机制
Android广播机制 android系统中有各式各样的广播,各种广播在Android系统中运行,当"系统/应用"程序运行时便会向Android注册各种广播.Android接收到广 ...
- 【转】IOS开发—IOS 8 中设置applicationIconBadgeNumber和消息推送
在IOS7中设置applicationIconBadgeNumber不会有什么问题,但是直接在IOS8中设置applicationIconBadgeNumber会报错 因为在IOS8中要想设置appl ...