我们上次说了伪装头部

python爬虫17 | 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部

让自己的 python 爬虫假装是浏览器

小帅b主要是想让你知道

在爬取网站的时候

要多的站在对方的角度想问题

其实

这和泡妞差不多

你要多站在妹纸的角度思考

她的兴趣是什么

她喜欢什么

而不是自己感动自己

单方面的疯狂索取

哦..

扯远了

我们回到反爬虫

这次教你怎么伪装自己的 ip 地址

别让对方轻易的就把你给封掉

如何伪装呢

那么

接下来就是

学习 python 的正确姿势

其实

对于 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 requests
PROXY_POOL_URL = 'http://localhost:5555/random'
def get_proxy(): try: response = requests.get(PROXY_POOL_URL) if response.status_code == 200: return response.text except ConnectionError: return None

这样

我们就成功的在我们的代理池中获取代理 ip 了

那么下次谁还敢封你ip

你就拿出你的代理ip

继续爬呗

peace

帅b老仙

法力无边

 

python爬虫18 | 就算你被封了也能继续爬,使用IP代理池伪装你的IP地址,让IP飘一会的更多相关文章

  1. Python爬虫之ip代理池

    可能在学习爬虫的时候,遇到很多的反爬的手段,封ip 就是其中之一. 对于封IP的网站.需要很多的代理IP,去买代理IP,对于初学者觉得没有必要,每个卖代理IP的网站有的提供了免费IP,可是又很少,写了 ...

  2. 静听网+python爬虫+多线程+多进程+构建IP代理池

    目标网站:静听网 网站url:http://www.audio699.com/ 目标文件:所有在线听的音频文件 附:我有个喜好就是听有声书,然而很多软件都是付费才能听,免费在线网站虽然能听,但是禁ip ...

  3. python爬虫实战(三)--------搜狗微信文章(IP代理池和用户代理池设定----scrapy)

    在学习scrapy爬虫框架中,肯定会涉及到IP代理池和User-Agent池的设定,规避网站的反爬. 这两天在看一个关于搜狗微信文章爬取的视频,里面有讲到ip代理池和用户代理池,在此结合自身的所了解的 ...

  4. python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫

    用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...

  5. 打造IP代理池,Python爬取Boss直聘,帮你获取全国各类职业薪酬榜

    爬虫面临的问题 不再是单纯的数据一把抓 多数的网站还是请求来了,一把将所有数据塞进去返回,但现在更多的网站使用数据的异步加载,爬虫不再像之前那么方便 很多人说js异步加载与数据解析,爬虫可以做到啊,恩 ...

  6. python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用

    站长资讯平台:python3爬虫系列19之随机User-Agent 和ip代理池的使用我们前面几篇讲了爬虫增速多进程,进程池的用法之类的,爬虫速度加快呢,也会带来一些坏事. 1. 前言比如随着我们爬虫 ...

  7. python开源IP代理池--IPProxys

    今天博客开始继续更新,谢谢大家对我的关注和支持.这几天一直是在写一个ip代理池的开源项目.通过前几篇的博客,我们可以了解到突破反爬虫机制的一个重要举措就是代理ip.拥有庞大稳定的ip代理,在爬虫工作中 ...

  8. 反爬虫之搭建IP代理池

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

  9. ip代理池的爬虫编写、验证和维护

    打算法比赛有点累,比赛之余写点小项目来提升一下工程能力.顺便陶冶一下情操 本来是想买一个服务器写个博客或者是弄个什么FQ的东西 最后刷知乎看到有一个很有意思的项目,就是维护一个「高可用低延迟的高匿IP ...

随机推荐

  1. sed 之 -n p

    sed是一个面向字符流的编辑器,一般情况下每次读入一行到一个名为模式空间的地方,进行编辑:但是也可以读入多行数据进行编辑. -n:抑制默认输出 p打印模式空间内容 cat test a b sed ' ...

  2. 布局技巧4:使用ViewStub

    多亏了<include />标签,在Android里,很容易就能做到共享和重用UI组件.在Android开发中,很容易就能创建出复杂的UI结构,结果呢,用了很多的View,且其中的一些很少 ...

  3. 获取Access数据里所有表的名称和表的字段

    -------------//获取Access数据库表名        public void GetTableName()        {                string connSt ...

  4. hdu 1512 Monkey King —— 左偏树

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1512 很简单的左偏树: 但突然对 rt 的关系感到混乱,改了半天才弄对: 注意是多组数据! #includ ...

  5. 洛谷 P3398 仓鼠找sugar —— 树链剖分

    题目:https://www.luogu.org/problemnew/show/P3398 树链剖分一下,路径就变成线段树上的几个区间: 两条路径相交就是线段树上有区间相交,所以在相应位置打个标记, ...

  6. KVO中你所不知道的"坑"

      一.什么是 KVO 首先让我们了解一下什么KVO,全称为Key-Value Observing,是iOS中的一种设计模式,用于检测对象的某些属性的实时变化情况并作出响应.键值观察Key-Value ...

  7. 如何在vue项目中引入阿里巴巴的iconfont图库

    1. 打开 http://www.iconfont.cn/ 2. 选择我们喜欢的图标,点击上面的小车,加入图标库,即右侧的购物车 3.点击购物车,点击下载代码 4.解压下载的文件夹,将文件夹复制到 a ...

  8. FSDataInputStream对象 读取数据

  9. Patch 21352635 - Database Patch Set Update 11.2.0.4.8

    一.CPU和PSU 近日,将数据库从9.2.0.6升级到11.2.0.4后,发现11.2.0.4通过DBLINK访问其他的9i库时发生ORA-02072错误,通过Google找到解决方案,即升级到PS ...

  10. UNIX环境高级编程--6

    系统数据文件和信息    数据文件都是ASCII文本文件,并且使用标准I/O库读这些文件,例如口令文件/etc/passwd和组文件/etc/group就是经常被多个程序频繁使用的两个文件.    口 ...