python爬虫18 | 就算你被封了也能继续爬,使用IP代理池伪装你的IP地址,让IP飘一会
我们上次说了伪装头部
↓
python爬虫17 | 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部
让自己的 python 爬虫假装是浏览器
小帅b主要是想让你知道
在爬取网站的时候
要多的站在对方的角度想问题

其实
这和泡妞差不多
你要多站在妹纸的角度思考
她的兴趣是什么
她喜欢什么
而不是自己感动自己
单方面的疯狂索取

哦..
扯远了
我们回到反爬虫
这次教你怎么伪装自己的 ip 地址
别让对方轻易的就把你给封掉
如何伪装呢
那么
接下来就是

其实
对于 python 来说
使用代理访问很简单
就拿我们经常使用的 requests库来说
使用代理 ip 如下
定义代理IP
proxie = {'http' : 'http://xx.xxx.xxx.xxx:xxxx','http' : 'http://xxx.xx.xx.xxx:xxx',....}
使用代理
response = requests.get(url,proxies=proxies)
这样就可以使用你定义的代理地址去访问网站了
我知道你要问了
代理地址哪里来

在网上有很多免费的代理
随便搜就有一堆了
不过你知道的
免费的话很多人都去使用
所以这些代理IP很不稳定
如果你有钱的话
市面上有人就专门提供代理IP的
直接去买就行了

不想花钱呢?
可以搞一个IP代理池
主要就是通过 python 程序去抓取网上大量免费的代理 ip
然后定时的去检测这些 ip 可不可以用
那么下次你要使用代理 ip 的时候
你只需要去自己的 ip 代理池里面拿就行了

道理都懂
但是不想自己弄一个代理池
有没有现成的?
不瞒你说
小帅b发现了一个不错的开源 ip 代理池
https://github.com/Python3WebSpider/ProxyPool.git
如何使用呢
首先使用 git clone 将源代码拉到你本地
git clone https://github.com/Python3WebSpider/ProxyPool.git
接着打开项目中的 setting.py
在这里可以配置相关信息
比如 Redis 的地址密码相关
(如果你之前没有使用过 redis 的话,可以到如下地址下载 https://github.com/MicrosoftArchive/redis/releases)

接着在你 clone 下来的文件目录中
安装相关所需的 python 模块
pip3 install -r requirements.txt
接下来开启你的 redis

redis 的默认端口就是 6379
接着就可以运行 run.py 了
代理池开始运行* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)开始抓取代理获取器开始执行Crawling http://www.66ip.cn/1.html正在抓取 http://www.66ip.cn/1.html抓取成功 http://www.66ip.cn/1.html 200成功获取到代理 201.69.7.108:9000成功获取到代理 111.67.97.58:36251成功获取到代理 187.32.159.61:51936成功获取到代理 60.13.42.154:9999成功获取到代理 106.14.5.129:80成功获取到代理 222.92.112.66:8080成功获取到代理 125.26.99.84:60493...
如果你在运行的时候出现这个错误
AttributeError: 'int' object has no attribute 'items'
更新一下 redis 版本
pip3 install redis==2.10.6
运行 run.py
这时候在你的 redis 中就有爬取到的代理 ip 了

项目跑起来之后
你就可以访问你的代理池了
比如随机获取一个代理 ip 地址
http://localhost:5555/random
这样访问之后就会获取到一个代理 ip
在代码中获取代理也不在话下啦
import requestsPROXY_POOL_URL = 'http://localhost:5555/random'def get_proxy():try:response = requests.get(PROXY_POOL_URL)if response.status_code == 200:return response.textexcept ConnectionError:return None
恩
这样
我们就成功的在我们的代理池中获取代理 ip 了
那么下次谁还敢封你ip
你就拿出你的代理ip
继续爬呗
peace

帅b老仙
法力无边


python爬虫18 | 就算你被封了也能继续爬,使用IP代理池伪装你的IP地址,让IP飘一会的更多相关文章
- Python爬虫之ip代理池
可能在学习爬虫的时候,遇到很多的反爬的手段,封ip 就是其中之一. 对于封IP的网站.需要很多的代理IP,去买代理IP,对于初学者觉得没有必要,每个卖代理IP的网站有的提供了免费IP,可是又很少,写了 ...
- 静听网+python爬虫+多线程+多进程+构建IP代理池
目标网站:静听网 网站url:http://www.audio699.com/ 目标文件:所有在线听的音频文件 附:我有个喜好就是听有声书,然而很多软件都是付费才能听,免费在线网站虽然能听,但是禁ip ...
- python爬虫实战(三)--------搜狗微信文章(IP代理池和用户代理池设定----scrapy)
在学习scrapy爬虫框架中,肯定会涉及到IP代理池和User-Agent池的设定,规避网站的反爬. 这两天在看一个关于搜狗微信文章爬取的视频,里面有讲到ip代理池和用户代理池,在此结合自身的所了解的 ...
- python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫
用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...
- 打造IP代理池,Python爬取Boss直聘,帮你获取全国各类职业薪酬榜
爬虫面临的问题 不再是单纯的数据一把抓 多数的网站还是请求来了,一把将所有数据塞进去返回,但现在更多的网站使用数据的异步加载,爬虫不再像之前那么方便 很多人说js异步加载与数据解析,爬虫可以做到啊,恩 ...
- python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用
站长资讯平台:python3爬虫系列19之随机User-Agent 和ip代理池的使用我们前面几篇讲了爬虫增速多进程,进程池的用法之类的,爬虫速度加快呢,也会带来一些坏事. 1. 前言比如随着我们爬虫 ...
- python开源IP代理池--IPProxys
今天博客开始继续更新,谢谢大家对我的关注和支持.这几天一直是在写一个ip代理池的开源项目.通过前几篇的博客,我们可以了解到突破反爬虫机制的一个重要举措就是代理ip.拥有庞大稳定的ip代理,在爬虫工作中 ...
- 反爬虫之搭建IP代理池
反爬虫之搭建IP代理池 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部.可惜加了header请求头,加了cookie 还是被限制爬取了.这时就得祭出IP代理池!!! 下面就是requ ...
- ip代理池的爬虫编写、验证和维护
打算法比赛有点累,比赛之余写点小项目来提升一下工程能力.顺便陶冶一下情操 本来是想买一个服务器写个博客或者是弄个什么FQ的东西 最后刷知乎看到有一个很有意思的项目,就是维护一个「高可用低延迟的高匿IP ...
随机推荐
- cojs 1175. [顾研NOIP] 旅游电车
1175. [顾研NOIP] 旅游电车 ★★☆ 输入文件:buss.in 输出文件:buss.out 简单对比时间限制:1 s 内存限制:256 MB [问题描述] Henryy国正致 ...
- 重启标志log
01) fatal error : 如下: [ >.()[:swapper/][name:disp_lcm&][DISP]disp_lcm_probe [ >.()[:swappe ...
- shell脚本-循环选择语句
shell脚本-循环选择语句 过程式编程语言: 顺序执行 选择执行 循环执行 注:条件中的变量,可以在执行语句中使用,不用在加上"$". if语句 根据命令的退出状态来执行命令 单 ...
- codevs1225八数码难题(搜索·)
1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description Yours和zero在研究A*启 ...
- 蛤玮学计网 -- 简单的判断ip
心累 , 狗日的想了好多数据 , ......啥也不说了 我去哭一会 . #include<stdio.h> #include<string.h> #include<m ...
- BZOJ 3473
思路: CF原题 ZYF有题解 O(nlog^2n) //By SiriusRen #include <bits/stdc++.h> using namespace std; ; ]; i ...
- CF 436D 最小生成树
设一个开头的虚节点,然后建稠密图,O(n^2).使用prim.O(n^2),保存方案,没什么好说的. #include <string.h> #include <stdio.h> ...
- 363 Max Sum of Rectangle No Larger Than K 最大矩阵和不超过K
Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix s ...
- Spring Boot (23) Lettuce Redis
Spring Boot除了支持常见的ORM框架外,更是对常用的中间件提供了非常好的封装,随着SpringBoot2.x的到来,支持的组件也越来越丰富,也越来越成熟,其中对Redis的支持不仅仅是它丰富 ...
- Laravel5.1学习笔记16 数据库2 查询构造器(这个不用看,不如用EloquentORM)
Introduction Retrieving Results Aggregates Selects Joins Unions Where Clauses Advanced Where Clauses ...