/1 前言/

细心的小伙伴应该知道上次小编发布了一篇关于IP代理的文章,基于Python网络爬虫技术,主要介绍了去IP代理网站上抓取可用IP,并且Python脚本实现验证IP地址的时效性,如遇到爬虫被禁的情况就可以用文章中的办法进行解决。如果没有来得及上车的小伙伴,可以戳这篇文章看看:手把手教你用免费代理ip爬数据。

接下来小编要推出的三篇文章,分别从代理网站的介绍和反爬措施介绍、数据抓取、数据可视化操作三方面进行展开,各个方面独占一文,希望对大家的学习有帮助。接下来小编先介绍代理网站及其反爬措施。

/2 简介/

西次代理网站是国内收录国内代理的网站,实时数量达到数十万条,上面有很多的代理IP,有的是免费的,有的是付费的。免费的一般是不可用的,即便当时好用,但是也挺不了多久,就会凉凉。

/3 反爬虫措施/

本文主要内容为使用 Python 对该网站数据进行爬取,其中爬虫主要利用 requests 库,下面先针对反爬虫措施进行简介。

经过前期测试时发现,该网站反爬虫处理措施很多,测试到有以下几个:

直接使用requests 库,在不设置任何 header 的情况下,网站直接不返回数据。

同一个 ip 连续访问 40 多次,直接封掉 ip,起初我的ip 就是这样被封掉的。

为了解决这两个问题,最后经过研究,使用以下方法,可以有效解决:

通过抓取正常网络流量,获取正常的 http 请求头(header),并在 requests 请求时设置这些常规的 http 请求头,这样的目的是让目标网站认为我们发出的请求是正常通过浏览器发起而非使用程序自动发起的。这样就可以解决第一个痛点。

构建代理池,首先从其他网站获取一批初始代理,利用这些代理在爬取该网站的代理数 据时将爬取到的代理实时加入进来,每次爬取时随机选择一个代理池中的代理,同时,及时将那些失效或者被封的代理移出代理池。这样,我们就不用担心一个ip用久了就被封掉。

为了正常的获取 http 请求头,使用抓包工具 Fiddler 对正常浏览器访问该网站的数据包进行抓取,如图:

提取数据之后,将该数据封装成 requests 库可以识别的 header 字典, 供其调用,这样通过使用正常的数据包,我们就不用担心网站使用头部校验了。在代码中,专门定义一个函数,只需要调用该函数就可以得到该字典:

然后在 requests 请求网站的时候, 设置这个头部即可, 代码如下:

至此,针对反爬虫的措施我们已经提前做好了准备,下一步将进行网页结构的分析以及网页数据的提取,具体实现咱们下篇文章进行详解。

/4 小结/

本文主要内容为对代理网站进行了基本简介,而后对代理网站的反爬虫措施进行简介。之后使用抓包工具 Fiddler 对该网站的数据包进行抓取,基于 Python 中的爬虫库 requests ,提前部署了请求头,模拟浏览器。下篇文章将带大家进行网页结构的分析以及网页数据的提取,敬请期待~~

利用python爬取飞猪信息_手把手教你使用Python爬取西刺代理数据(上篇)-阿里云开发者社区...相关推荐

  1. python刷题一亩三分地_手把手教你用python抓网页数据【一亩三分地论坛数据科学版】...

    前言:. visit 1point3acres.com for more. 数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,pyt ...

  2. python面向过程实践汉诺塔_递归汉诺塔-和递归汉诺塔相关的内容-阿里云开发者社区...

    多柱汉诺塔最优算法设计探究 多柱汉诺塔最优算法设计探究 引言 汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究.最简单的汉诺塔是三个柱子(A.B.C),因 ...

  3. mysql 轨迹数据存储_基于Tablestore实现海量运动轨迹数据存储-阿里云开发者社区...

    前言 现在越来越多的人都开始关心自己的运动数据,比如每日的计步.跑步里程.骑行里程等.运动APP与运动类的穿戴设备借助传感器.地图.GPS定位等技术,收集好运动数据以后,通过与互联网社交功能结合,产生 ...

  4. python爬取音乐源码_手把手教你使用Python抓取QQ音乐数据(第一弹)

    [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二.需要的库] 主要涉及的库有:requests.json ...

  5. python网站有中文界面吗_手把手教你用python开发界面程序

    在本教程中 我们将通过使用Tkinter包编写一些python GUI示例来学习如何开发图形用户界面. Tkinter包是作为标准包随Python一起提供的 所以我们不需要安装任何东西来使用它. Tk ...

  6. python抢票用哪个库_手把手教你使用python抢票回家玩

    电脑终端查看电脑上已有环境 conda env list 创建一个独立环境 conda create --name textenv 进入这个环境 source activate textenv 安装p ...

  7. python爬虫进程和线程_python爬虫番外篇(一)进程,线程的初步了解-阿里云开发者社区...

    整理这番外篇的原因是希望能够让爬虫的朋友更加理解这块内容,因为爬虫爬取数据可能很简单,但是如何高效持久的爬,利用进程,线程,以及异步IO,其实很多人和我一样,故整理此系列番外篇 一.进程 程序并不能单 ...

  8. python聊天小程序支持私聊和多人_Python实现多人在线匿名聊天的小程序-阿里云开发者社区...

    最近看到好多设计类网站,都提供了多人在线匿名聊天的小功能,感觉很有意思,于是基于python的django框架自己写了一个,支持手动实时更名,最下方提供了完整的源码. 在线聊天地址(无需登录,开一个窗 ...

  9. python 页眉页脚_python自动化办公:玩转word之页眉页脚秘笈-阿里云开发者社区

    节将就python操作word的页眉页脚技巧做深入介绍. 使用页眉和页脚 python操作word的页眉页脚技巧做深入介绍 Word支持页眉和页脚.页眉是出现在每个页面的上边距区域中的文本,与文本主体 ...

  10. oss子账号_【最佳实践】授权子账号进行OSS图片样式设置-阿里云开发者社区

    1.引子:如何授权子账号在控制台针对指定的Bucket设置图片样式呢? [使用场景]:某企业内部有众多Bucket,并且不同的Bucket分别指定了Bucket的管理员.目前Bucket A的管理员期 ...

最新文章

  1. 搭建多语言外文网站需要注意三个细节问题
  2. 全字库说文解字字体_整理了10款免费商用中文字体,超好用
  3. 《分布式系统:概念与设计》一3.2 网络类型
  4. Eclipse安装Android开发环境
  5. mysql并发写入性能分析
  6. Oracle中for update造成锁表,致使无法删除或更新表内容
  7. Windows 7 Ultimate + Ubuntu 12.04 LTS双系统完美走起
  8. 如何退出控屏软件(以极域为例)
  9. echarts3D使用时会遇到的问题(版本低)
  10. html+css+js基础问答
  11. linux下查看U盘文件
  12. Codeforces 938E Max History [排列组合]
  13. K核苷酸频率(KNF,k-nucleotide frequencies)或K-mer频率
  14. [设计报告]有屏的地方就有Bad Apple!! —— 12864版
  15. 全网最通俗易懂的 Self-Attention自注意力机制 讲解
  16. win10安装onnx、tensorrt(python用,超简单安装版)
  17. VBOX虚拟机连网方案
  18. 使用局域网为手机部署安装包
  19. C语言猜数游戏两位数
  20. matplotlib 库画云图两种方法

热门文章

  1. C++实现设计模式——Builder模式
  2. 华为HCNA教程(笔记)
  3. 学计算机的学数学分析吗,学计算机专业是不是对数学的要求很高?
  4. 搭建Linux虚拟机并编写简单程序
  5. 8.1.CentOS7安装Spark安装部署及standalone模式介绍
  6. 冰点文库下载器的使用
  7. 砍价小程序怎么变成二维码(小程序码)
  8. python第三方库官方文档汇总
  9. 数字水印技术的基本概念和现状
  10. C# NOPI读取Excel