1、IP地址:
互联网协议地址(Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),是分配给用户上网使用的网际协议(IP)的设备的数字标签。常见的IP 地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。

IP地址由32位二进制数组成,为便于使用,常以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数。例如维基媒体的一个IP地址是208.80.152.2。地址可分为A、B、C、D、E五大类,其中E类属于特殊保留地址。

随着互联网的快速成长,IPv4的42亿个地址的分配最终于2011年2月3日用尽。相应的科研组织已研究出128位的IPv6,其IP地址数量最高可达3.402823669 × 1038个,届时每个人家居中的每件电器,每件对象,甚至地球上每一粒沙子都可以拥有自己的IP地址。

在A类、B类、C类IP地址中,如果主机号是全1,那么这个地址为直接广播地址,它是用来使路由器将一个分组以广播形式发送给特定网络上的所有主机。32位全为1的IP地址“255.255.255.255”为受限广播地址(“limited broadcast” destination address),用来将一个分组以广播方式发送给本网络中的所有主机,路由器则阻挡该分组通过,将其广播功能限制在本网内部。
2、IP封锁:
IP封锁是指防火墙维护一张IP黑名单,一旦发现发往黑名单中地址的请求数据包,就直接将其丢弃,这将导致源主机得不到目标主机的及时响应而引发超时,从而达到屏蔽对目标主机的访问的目的。
ip被封的原因:
a.服务器在国内被封,无法正常访问。
b.服务商更换服务器
c.当计算机或系统受到外部攻击时,管理员可以通过屏蔽攻击源IP地址来抵御攻击。通过防火墙和路由器配置,可以封锁某个IP,禁止与其连接。
3、应对ip封锁是方法:
a.伪造User-Agent
在请求头中把User-Agent设置成浏览器中的User-Agent。来伪造浏览器访问。
b.伪造cookies
若从浏览器中可以正常访问一个页面,则可以将浏览器中的cookies复制过来使用。
c.使用代理
可以换着用多个代理IP来进行访问,防止同一个IP发起过多请求而被封IP。
4、抓取西刺代理,并构建自己的代理池:
西刺代理网址:https://www.xicidaili.com/nn/
先根据BeautifulSoup解析出ip所在标签,并将其提取,其次依次对所提取标签进行验证是否为有效ip,最后将有效ip写入文件。
代码如下:
import requests
import chardet
import traceback
from bs4 import BeautifulSoup as bs

class Downloader(object):
def init(self):
self.headers = {
‘User-Agent’: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36’
}

def download(self, url):print('正在下载页面:{}'.format(url))try:resp = requests.get(url, headers=self.headers)#resp.encoding = chardet.detect(resp.content)['encoding']if resp.status_code == 200:return resp.textelse:raise ConnectionErrorexcept Exception:print('下载页面出错:{}'.format(url))traceback.print_exc()def get_ip_list(self,resp):try:#page = bs(resp,'lxml')root_pattren = 'alt="Cn" /></td>([\d\D]*?)</tr>'root = re.findall(root_pattren,resp)list_ip = []#再次匹配数据的正则for i in range(len(root)):key = re.findall('<td>([\d\D]*?)</td>',root[i])list_ip.append(key[3].lower()+'://'+key[0]+':'+key[1])return list_ipexcept Exception:print('解析IP地址出错')traceback.print_exc()

def main():
url =‘https://www.xicidaili.com/’
resp = Downloader().download(url)
info = Downloader().get_ip_list(resp)
for i in info:
print(i)

if name == ‘main’:
main()

抓取西刺代理,并构建自己的代理池相关推荐

  1. 应对IP被封--抓取西刺代理,并构建自己的代理池

    一.IP简介: 互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Inte ...

  2. 爬虫学习3.2 抓取西刺代理,并构建自己的代理池

    任务描述 学习什么是IP,为什么会出现IP被封,如何应对IP被封的问题. 抓取西刺代理,并构建自己的代理池. 西刺直通点:https://www.xicidaili.com/ . 参考资料:https ...

  3. Scrapy抓取西刺高匿代理ip

    如题:因为想试试代理ip,所以就想着在西刺上爬一些ip用用 如上两节所示,具体如何建立Scrapy工程的细节不在赘述. scrapy startproject xiciscrapy genspider ...

  4. 8.抓取西刺网站(代理ip网站)

    需求分析 使用单一ip抓取网页过程中,经常碰到IP被封的情况:现需要获取一批代理IP进行网页抓取: 目前找到一个叫"西刺"的网站,可以提供免费代理IP,领导要求对上面的IP进行爬取 ...

  5. python3 抓取西刺网免费代理IP并验证是否可用

    爬取西祠网免费高匿代理IP并验证是否可用存到csv文件 #导入模块import requestsimport chardetimport randomfrom scrapy.selector impo ...

  6. 爬虫(三):爬取西刺高匿代理

    抓取西刺高匿代理,并验证IP的可用性,存储到本地文件中. 代码如下 # 导入模块 import requests import chardet import random from scrapy.se ...

  7. 爬取西刺网实现ip代理池

    使用ip代理服务器可以防止在爬虫时被封本机ip.国内免费的高匿代理可以选择西刺网 总体目标是写一个爬虫,将这些字段保存在数据库中,然后筛选速度快的作为代理服务器,实现ip代理池. 在这里使用reque ...

  8. Python爬取西刺代理网页

    爬取西刺代理网页的信息,并保存到本地的TXT文本或者mysql数据库中 本文只做爬取网页的练习 代码如下: import requests from lxml import etree import ...

  9. Python 多线程爬取西刺代理

    西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧. 镜像地址:https://www.blib.cn/url/xcdl.html 首先找到所有的tr标签,与class ...

最新文章

  1. androidwakelock_Android中的WakeLock
  2. 这里先发布一个,自己写得unityUI的适配的方案(插播)
  3. python调用系统api_Python调用系统底层API播放wav文件的方法
  4. 手机投屏到电视的5种方法_安卓手机、苹果手机投屏到电视史上最全的方法
  5. oracle的into的含义,请问在oracle 中select into是什么意思?
  6. Asp.Net生命周期的详解
  7. mysql 3_mysql3
  8. C++_类和对象_C++继承_继承中的对象模型_占内存大小---C++语言工作笔记063
  9. i7 6700k linux,i7-6700k超频至4.8G最稳定 i7-6700K开盖液态金属测试
  10. bzoj 1072: [SCOI2007]排列perm
  11. win7下安装PADS2007
  12. 保持简单----纪念丹尼斯里奇(Dennis Ritchie) (zz.is2120.BG57IV3)
  13. oracle异步备份,网络存储导论第七章:异步数据复制容灾方式
  14. 使用GCJ编译Java程序供Matlab调用Java对象方法实践
  15. 几种闪存技术:eMMC、UFS2.1、UFS3.0、SSD
  16. 纺织服装业如何利用技术进行数字化转型
  17. Python检查图片损坏情况代码
  18. 为什么Tesla显卡那么贵
  19. 计算机专业该如何学习:大一篇
  20. python打印古诗_python打印古诗_python教程:利用python基础知识取出对应诗句

热门文章

  1. 读源码(七)—— ejs
  2. 【项目总结】玛嘉环境物联网平台(大三学生独立完成的真实企业外包项目)/网脉通用物联网平台/网脉铁塔监测系统
  3. linux 命令:uniq 详解
  4. 关于Springboot中JSCH使用说明
  5. abc268 E 数学
  6. 拥抱未来,开源先行!OpenI启智社区首批优秀开发者榜单即将出炉
  7. h5唤起支付(微信和支付宝)
  8. VC HID开发笔记
  9. POST /wd/hub 500
  10. 仓储搬运机器人_仓储应用机器人搬运机器人所具有的优点