当你经常爬取对方的网站,对方看你,呦这家伙频繁访问也太快了吧,肯定是个爬爬,得把他的IP封了,看他还怎么爬!
因此,这次教你怎么伪装自己的 IP 地址别让对方轻易的就把你给封掉。
那怎么伪装呢?
那接下来就是学习Python的正确姿势了!
其实对于Python来说,使用代理代理IP访问是很简单的。就拿我们经常使用的requests库来说,使用代理IP如下:
1 | import requests |
这样你就能使用代理IP去访问网站了,当然了,你会问我代理IP在哪?哪里来?
在网上有很多的免费的代理IP,一搜就是一大堆。
当然了你也知道,既然是免费的,肯定也有很多人去使用,而且也不稳定。
如果你有钱的话,市面上有人就专门提供代理IP的直接去买就行了。(真有钱,真是的爬个虫也得这样,也带带我~)
当然了我们的重点就是白嫖,不花钱了。
那么接下来就是重点了,开始真正的学习Python正确姿势了!
不想花钱?那我们可以搞个IP代理池!
道理呢大家都懂:
主要就是通过 python 程序去抓取网上大量免费的代理 ip ,然后定时的去检测这些 ip 可不可以用,那么下次你要使用代理 ip 的时候,你只需要去自己的 ip 代理池里面拿就行了。
现在的你是不是心痒痒的也想弄一个代理池了,当然了你也得有这个水平。哈哈
所以我现在推荐一个不错的开源的IP代理池
https://github.com/Python3WebSpider/ProxyPool
然后将它下载到本地就好。
接下来如果你需要配置一些相关信息,可以到它的proxypool目录下的setting.py里设置,比如Redis 的地址密码相关。
如果你没有Redis,那么你得快去下载了。这是必须需要的。下载地址请看下面:
https://github.com/MicrosoftArchive/redis/releases
前提Redis 安装完后,进行以下步骤
然后接下来找到你下载好的IP代理池文件夹,
第一步:安装上依赖包
1 | pip install -r requirements.txt |
步骤如下:
Shift+鼠标右键,选Windows PowerShell 窗口,然后在命令行输入命令。
第二步,运行run.py
步骤,直接在Windows PS窗口进行运行,
输入命令python run.py
项目跑起来后,不要关闭该窗口,然后接下来你就可以访问你的ip代理池了。
比如随机获取一个代理 ip 地址
1 | http://localhost:5555/random |
这样访问可以随机获取一个代理ip。
有了这样的条件,在代码中也不难实现:
1 | import requests |
这样我们就成功的在我们的代理池中获取代理 ip 了,那么下次谁还敢封你ip,你就拿出你的代理ip,继续爬,嘿嘿~
下面我给大家一个简单的实例来展现一下秀操作了.
通过代理ip来爬取京东的商品图片:
源代码如下:
1 | import re |