不知不觉已经从事Python编程开发5年了,Python刚开始其实不是很起眼,但是随着大数据越来越活,现在Python也越来越火了,但是目前我主要从事的Python工作还是以数据挖掘、数据爬虫技术深度为主。

下面把这些年个人在编程爬虫代码时用过的一些爬虫框架和爬虫经验给大家分享:

不同的网站选择不通的技术策略和不同的框架组合。

(1)selenium框架: 我把这个框架取了一个名字叫:“无法阻挡爬虫蜘蛛侠”,这个框架优点的个人觉得就是可以模拟浏览器,相当于您用程序调动浏览器让浏览器打开您需要爬取的网站。这个好处其实就是可以大量避免被封。因为我们在用Python的requets库发出网络情况时候,您必须先构造http请求头。但是有些网站反爬很严格,可以直接识别出来您当前的访问是否正常用户行为。所以如果在用request请求时被目标网站反爬识别,导致无法爬取的话,那么这个时候只有使用这个selenium框架就是最好技术选择方式。他可以做到的是只要您网站用浏览器可以正常访问,那么selenium就可以采集到网站数据,除非正常浏览器都不能访问了。

selenium框架优点:反爬能力强,适合爬取哪种反爬很厉害的网站或者是那种需要点击提交的网站,我在做商标网数据爬取的时候,当时老板要求要爬取全部网站几千万商标数据,但是这个网站反爬很厉害,而且需要点击确定按钮,然后才能进入商标综合搜索页面,然后再根据注册号搜索进入列表页,然后从列表页点击进入商标详情页,然后再从详情页点击进入商标流程页。这一连串的需要的模拟动作,当时为了解决一天爬取上百万数据,刚开始我采用Python的request库+代理IP池技术架构,然后开启了多进程,但是遗憾是很快就被目标网站识别您的请求不是正常用户,因为您太快了,所以最后不得不改用selenium+多进程技术价格组合。

selenium框架缺点:速度慢,适合每天爬取数据量要求不高的爬虫工作, 因为selenium框架是必须要打开浏览器,然后模拟点击网页,这个过程和您用手打开浏览器打开网址去访问网站一样的速度。这个速度是比较慢。如果您要采集的数据,每天也就1-2万条那么可以用这个selenium框架。因为比较稳定靠谱。

什么时候我们不能选择selenium框架?

关于爬虫技术,下一篇继续给大家分享。

python什么时候用框架_python爬虫-什么时候选择selenium框架框架?相关推荐

  1. python爬虫用到的技术_python爬虫技术的选择

    本篇文章不是入门帖,需要对python和爬虫领域有所了解. 爬虫又是另外一个领域,涉及的知识点比较多,不仅要熟悉web开发,有时候还涉及机器学习等知识,不过在python里一切变的简单,有许多第三方库 ...

  2. python微信爬取教程_PYTHON爬虫之旅系列教程之【利用Python开发微信公众平台一】...

    感谢大家的等待,好啦,都准备好瓜子.板凳,老司机要发车啦-- 本系列课程讲述"PYTHON爬虫之旅",具体大纲可参考:[PYTHON爬虫之旅]概要目录. 本节课讲述如何利用Pyth ...

  3. python 百度云下载加速器_Python爬虫加速神器的牛刀小试,就问你怕不怕

    大名鼎鼎的aiohttp,相信如果你学习Python或者爬虫的时候,肯定听说过这个东西.没听过也不要紧,今天看完文章,只要记住,aiohttp这个东西,在写爬虫的时候,很牛逼就行了. aiohttp ...

  4. python爬取收费素材_Python爬虫练习:爬取素材网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 在工作中的电子文案.ppt,生活中的新闻.广告,都离不开大量的素材,而素材 ...

  5. python爬取股票评论_Python爬虫股票评论,snowNLP简单分析股民用户情绪

    原标题:Python爬虫股票评论,snowNLP简单分析股民用户情绪 一.背景 股民是网络用户的一大群体,他们的网络情绪在一定程度上反映了该股票的情况,也反映了股市市场的波动情况.作为一只时间充裕的研 ...

  6. python通过ip池爬_python 爬虫 代理ip池(适合初学者)

    初次学习python爬虫的朋友在频繁访问被爬取页面网站时都会被拦截,也就是限制ip.这里教教大家建立代理ip池. #!/usr/bin/env python3# -*- coding: utf-8 - ...

  7. python3 scrapy框架,Python3爬虫(十八) Scrapy框架(二)

    对Scrapy框架(一)的补充 Infi-chu: Scrapy优点: 提供了内置的 HTTP 缓存 ,以加速本地开发 . 提供了自动节流调节机制,而且具有遵守 robots.txt 的设置的能力. ...

  8. python pipeline框架_Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法...

    原博文 2017-07-17 16:39 − 当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的pytho ...

  9. python流行的爬虫框架_Python爬虫相关框架

    Python爬虫相关框架,Python的爬虫框架就是一些爬虫项目的半成品.比如我们可以将一些常见爬虫功能的实现代码写好,然后留下一些接口,在做不同的爬虫项目时,我们只需要根据实际情况,只需要写少量需要 ...

最新文章

  1. [转]使用批处理设置、启动和停止服务
  2. 数据结构:二分查找算法
  3. VS2005 VSTO 项目创建
  4. 使用Outlook 2007连接到Exchange Server 2003、2007时出现没有默认网关的错误
  5. BZOJ 2957 楼房重建-线段树
  6. win7 64 php mysql_win7 64 搭建 64 位 apache httpd php mysql
  7. ccpc中国大学生首届程序设计竞赛
  8. armax函数 matlab 源码_【源码】Kmeans聚类算法(超快速、简洁的设计方法)
  9. (五)cobbler自定义系统安装
  10. 【直观详解】信息熵、交叉熵和相对熵
  11. linux多CPU进程负载均衡解析
  12. 在Ubuntu中搭建NFS服务器
  13. 计算机仿真实训平台软件,虚拟仿真实验室软件有哪些
  14. 【强大的数字设计工具包】Sketch 55.1 for Mac
  15. 医院his系统机房服务器,医院 HIS系统建设项目 硬件部署方案.docx
  16. FANUC 工业机器人编程与联网
  17. POI操作WORD表格系列--复制表格,填充数据
  18. 4412——Linux驱动入门01
  19. 呼叫中心中间件(mod_cti基于FreeSWITCH)-排队(ACD 话务分配)接口
  20. 不用注册表删除搜狗输入法残留文件夹

热门文章

  1. 010_Raphael事件
  2. html微信窗口阻止滚动条,解决微信浏览器页面可以随意拉伸,导致页面内部滚动条滚动体验不好的问题...
  3. 给定下面的java代码_则运行_会产生类型的异常_JavaSE_笔试题_单选选择题
  4. JNI与底层调用-1
  5. 阐述Spring security实现用户认证授权的原理----基于session实现认证的方式
  6. python从入门到精通学习笔记_Python从入门到精通之基础概念
  7. python项目实践_Python 项目实践三(Web应用程序)第二篇
  8. android内存不足,Android OutOfMemoryError:内存不足问题的排查与解决
  9. 深入理解JVM虚拟机(四):Class类文件结构(一)
  10. 进程间通信的方式(三):消息队列