爬虫必备反爬技能:使用动态ip

目录

一、为什么要使用动态代理ip?

二、如何申请动态代理ip?

三、如何使用动态ip?


一、为什么要使用动态代理ip?

使用它的好处在哪里呢?

  1. 保护你的网络免受外部攻击
  2. 屏蔽你的IP地址
  3. 限制不必要的内容
  4. 更好的帮助你抓取网络数据
  5. 绕过目标网站限制。网站一般会限制单个ip请求数量,使用动态ip可以自定义时间更换ip地址,提高爬虫效率。
  6. 隐藏真实ip地址。出于各种安全原因,有些人选择使用代理来隐藏其真实IP地址。

以上几点,足以知道使用代理动态ip的好处,难不成还用自己电脑的ip呢?ip是能定位到你的好吧,所以咱一般不用自己的本地ip爬(简单的本地爬,某些数据还是要使用代理ip哈)

二、如何申请动态代理ip?

我随便使用的一个代理ip网站。反正你们随便找个代理网站都行。看谁福利多就用谁的咯,这个ipidea 我只是用来测试。

生成代理api

点击生成链接:

认证一下:

再返回,点击生成链接,复制链接(保存在文档):

三、如何使用动态ip?

我们就是用最简单的requests模块:

import requests

然后我们再加上随机请求头模块(反爬用):

from fake_useragent import UserAgent

导入请求的url和随机请求头:

url='https://sjz.anjuke.com/community/p1'headers={'User-Agent':UserAgent().random}

使用api获取到ip:(记得换成你自己的api)

# proxies = {'协议': '协议://IP:端口号'}
api_url='http://tiqu.ipidea.io:81/abroad?num=1&type=1&lb=1&sb=0&flow=1&regions=&port=1'res = requests.post(api_url,headers=headers, verify=True)
proxie = "https://%s"%(res.text)
proxies = {'http': proxie}
print(proxies)

请求网址(以安居二手房为例子):

html=requests.get(url=url,headers=headers,proxies=proxies).text
print(html)

完整源码:

import requests
from fake_useragent import UserAgenturl='https://sjz.anjuke.com/community/p1'headers={'User-Agent':UserAgent().random}# proxies = {'协议': '协议://IP:端口号'}
api_url='http://tiqu.ipidea.io:81/abroad?num=1&type=1&lb=1&sb=0&flow=1&regions=&port=1'res = requests.post(api_url,headers=headers, verify=True)
proxie = "https://%s"%(res.text)
proxies = {'http': proxie}
print(proxies)html=requests.get(url=url,headers=headers,proxies=proxies).text
print(html)

运行如下:

更多案例和具体实战我已经在前面的文章讲过了,这里主要是教一下大家如何使用代理ip,只是在原来的基础上加了一个代理ip。代理ip对于爬虫手来说,用处很大,大家一定要好好学哇!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模学习笔记(七)——图论最短路问题

文章目录一、综述二、图论最短路问题三、几个简单的作图方法四、Dijkstra(迪杰斯特拉)算法五、Bellman-Ford算法六、总结一、综述 本文主要根据图论的基本概念,介绍图论中常见的建模问题——最短路问题。同时,介绍了解决图论最短…

pycharm和pythonIDE安装详解

目录 一、pycharm下载安装 二、python下载安装 ​三、pycharm上配置python 我们可能显示的库不大一样,因为我这大都事先安装过了,就没有删​打印成功:标志配置完成​四、配置镜像源让你下载嗖嗖的快 4.1)pycharm内部配置 4.2…

数学建模学习笔记(八)——分类模型

文章目录一、分类模型综述二、逻辑回归三、两点分布(伯努利分布)四、连接函数的取法五、Logistic回归模型六、在SPSS中进行二元Logistic回归七、预测结果较差的解决八、Fisher线性判别分析九、多分类问题十、总结一、分类模型综述 通过样本数据中的分类…

python基础入门(1)

目录 一、python入门 二、python缩进 三、Python注释 1)单行注释 2)多行注释 四、Python 变量 1)变量定义理解 2) 变量名命名 3) 分配多个值 4)输出变量 5)全局变量与局部变量&#…

数学建模学习笔记(九)——聚类模型

文章目录一、聚类综述二、主要用到的聚类算法三、K-means聚类算法四、K-means算法五、对于K-means算法和K-means算法的讨论六、系统(层次)聚类算法七、DBSCAN算法八、总结一、聚类综述 聚类的主要目的就是将样本划分为由类似的对象组成的多个类的过程。…

python基础入门(2)

目录 一、Python数据类型 1)置数据类型 2)获取数据类型 3)设置数据类型 4)设置特定数据类型 6)练习题 二、python数字- 1)整数 2)浮点数 3)虚数 4)类型转换 …

C语言scanf:获取输入的内容

获取外部输入数据内容 在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。getchar()、getche()、getch():这三个函数都用于输入单个字符。gets():获…

数学建模学习笔记(十)——时间序列模型

文章目录一、时间序列综述二、时间序列数据以及基本概念三、时间序列分解四、指数平滑模型五、一元时间序列分析的模型六、AR(p)模型七、MA(q)模型八、ARMA(p, q)模型九、模型选择:AIC 和 BIC 准…

python基础入门(3)之字符串

目录 一、Python字符串 1.字符串基本使用 1)字符串理解 2)将字符串分配给变量 3)多行字符串 4)字符串是数组 5)遍历字符串 6)字符串长度 7)检查字符串 8)检查如果不是 2.切片字符串 1)切片 2)从头开始切片 3)切到最…

数学建模学习笔记(十一)——预测模型

文章目录一、综述二、灰色预测简介三、GM(1, 1)模型四、使用灰色系统建模的前提 —— 准指数规律检验五、对于GM(1, 1)的检验六、GM(1, 1)模型的拓展七、什么时候使用灰色预测八、神经网络模型一、综述 本文首先介绍了灰色预测模…

python基础入门(4)之布尔值

目录 一、Python布尔值 1)比较 2)评估值和变量 3)布尔真值 4)布尔假值 5)函数可以返回布尔值 6)练习题 一、Python布尔值 布尔值表示两个值之一: True或False。在编程中,您经常需要知道表达式是否为 True或False。举一些例子就明白了。 1)比较 当…

C语言if else语句详解

前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条……一直到最后一条语句,这称为顺序结构。 但是对于很多情况,顺序结构的代码是远远不够的,这时我们就要使用判断语句即if else语句。 …

数学建模学习笔记(十二)——奇异值分解

文章目录一、综述二、奇异值分解三、使用SVD进行降维四、SVD的评价及应用一、综述 奇异值分解是线性代数中一种重要的矩阵分解方法,它在图形的压缩等方面具有重要的意义及作用。 二、奇异值分解 三个引理: AB 和 BA 非零的特征值完全相同;…

python基础入门(5)之运算符

目录 一、python运算符 1)算术运算符 2)赋值运算符 一、python运算符 1)算术运算符 自己赋值粘贴运行下就懂了! 加减法:( -) a2 b3 ca-b da-b print(c,d)乘除法:(* /) a(50-5*6)/4 print(…

Python实例 61,62

61.题目:打印出杨辉三角形 程序设计: 第一步:先找规律,抽象化问题: 首先我们观察到,第一行为[1],我们直接赋给一个变量:初始化数列 p [1] 其次我们观察到,下面的每一…

C语言逻辑运算符详解

情景模式&#xff1a;现在研发出了一款新的软件&#xff0c;要求使用者必须成年&#xff0c;并且成绩大于等于60&#xff0c;该怎么办呢&#xff1f; 或许你会想到使用嵌套的 if 语句&#xff0c;类似下面这样的代码&#xff1a; #include <stdio.h> int main() {int a…

Python实例 63,64

目录 63.题目&#xff1a;画椭圆 1.tkinter画椭圆 2.turtle画椭圆 64.题目&#xff1a;利用ellipse 和 rectangle 画图 63.题目&#xff1a;画椭圆 1.tkinter画椭圆 #63 from tkinter import * x 360 y 160 top y - 30 bottom y - 30canvas Canvas(width 500,height …

HTML学习笔记(一)

HTML5语法 文档类型 DOCTYPE声明文档类型 &#xff0c;必须位于第一行。 DOCTYPE不区分大小写以及单双引号。 DOCTYPE会触发浏览器以标准模式显示页面。 <!DOCTYPE HTML>字符编码 HTML5中简化了字符编码的写法&#xff0c;直接用 meta 即可 <meta charset "UTF-…

C++ PAT 乙级 1007——素数对猜想

题目详情 让我们定义 dnd_ndn​ 为 dnpn1−pnd_n p_{n 1} - p_ndn​pn1​−pn​&#xff0c;其中 pip_ipi​ 是第 i 个素数。显然有 d11d_1 1d1​1&#xff0c;且对于 n > 1有 dnd_ndn​ 是偶数。 “素数对猜想”认为“存在无穷多对相邻且差为2的素数”&#xff0c;现给…

python实例 65,66

65.题目&#xff1a;一个最优美的图案 #65 import math class PTS:def __init__(self):self.x 0self.y 0 points []def LineToDemo():import tkinter screenx 400screeny 400canvas Canvas(width screenx,height screeny,bg white)AspectRatio 0.85MAXPTS 15h scr…