2019独角兽企业重金招聘Python工程师标准>>>

入手爬虫确实不要求你精通Python编程,但基础知识还是不能忽视的,那么我们需要哪些Python基础呢?

首先我们先来看看一个最简单的爬虫流程:

第一步要确定爬取页面的链接,由于我们通常爬取的内容不止一页,所以要注意看看翻页、关键字变化时链接的变化,有时候甚至要考虑到日期;另外还需要主要网页是静态、动态加载的。

第二步请求资源,这个难度不大,主要是Urllib,Request两个库的使用,必要时候翻翻官方文档即可

第三步是解析网页。请求资源成功后,返回的整个网页的源代码,这时候我们就需要定位,清洗数据了

谈到数据,第一个要注意的点就是数据的类型,是不是该掌握!

其次,网页上的数据往往排列十分整齐,这多亏了列表,使用大部分网页数据整洁而有规律,所以列表、循环语句是不是也要掌握!

但值得注意得是网页数据不一定都是整齐而有规律的,比如最常见的个人信息,除了必填选项,其他部分我就不爱填,这时候部分信息缺失了,你是不是得先判断一下是否有数据,再进行抓取,所以判断语句是不是也不能少!

掌握以上内容,我们的爬虫基本上能跑起来了,但为了提高代码效率,我们可以借助函数将一个程序分割成多个小部分,每部分负责一部分内容,这样就能根据需要多次调动一个函数了,如果你再厉害点,以后开发个爬虫软件,是不是还要再掌握个类

第四步是保存数据,是不是得先打开文件,写数据,最后关闭啊,所以是不是还得掌握文件的读写啊!

所以,你需要的掌握的最最最基本的Python知识点有

我刚整理了一套2018最新的0基础入门和进阶教程,无私分享,加Python学习q u n :227-435-450即可获取,内附:开发工具和安装包,以及系统学习路线图

线程与进程

当然只掌握这些是远远不够的,因为我们还有分布式爬虫,爬虫框架等,这要求我们掌握线程与进程;这两个可能会比较陌生,我还没接触爬虫时候也不懂这些,所以先来看看他们的概念

进程: 资源分配的最小单位

线程: 程序执行的最小单位

看起来太抽象了,我们打个比方吧:

进程就相当于你打开的一个个程序,如QQ,微信,微博等,而进程就相当于程序里的每一个命令,如收发消息等

1.多线程与多进程

多线程、多进程顾名思义就是多个线程、进程并行,是实现多任务的好帮手,所以在效率上有

单进程+单线程 < 单进程+多线程 < 多进程+多线程

再来打个比方,假如我要给整个班级的同学发份资料,我可以通过微信一个一个地发给他们——单进程+单线程,但这效率实在太低了,特别费时;于是我可以选择用微信群发啊——单进程+多线程,这样效率一下子提高了很多,但问题又来了,微信群发上限是200人,假如我要给400人发文件,是不是就得分两次群发呢?为了节省时间,我还可以一部分用qq群发,一部分用微信群发,这就是多进程+多线程

比较

可靠性 进程间不会相互影响 一个线程挂掉将导致整个进程挂掉

分布性 多核、多机 多核

2.协程

协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。

在刚刚的例子中,协程又是一个怎么样的存在呢?

群发消息和调用多个程序时,都会受流量(相当于CPU)的影响而无法将资料发送出去,而假如我让同学B帮忙发资料,他发资料时候并不占用我的流量,因此效率更高,此时,同学B就相当于我的一个协程,所以协程在一定程度上又好于多线程

转载于:https://my.oschina.net/u/3849396/blog/2906909

学爬虫,需要掌握哪些Python基础?相关推荐

  1. 风变编程python助教_花30天时间,学完了风变编程Python基础语法课

    原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...

  2. 风变编程python课_花30天时间,学完了风变编程Python基础语法课

    原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...

  3. python爬虫数据可视化_python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  4. 没有python基础直接学爬虫_只针对 Python 爬虫,该如何学习?

    最近刚好准备开始写一个 从零开始写python爬虫的系列专栏 希望能帮助到你. 这里先把导言部分贴过来 ------------------------------------------- 从零开始 ...

  5. java学习_Python基础学习教程:从0学爬虫?让爬虫满足你的好奇心

    Python基础学习教程:从0学爬虫?让爬虫满足你的好奇心 有必要学爬虫吗? 我想,这已经是一个不需要讨论的问题了. 爬虫,"有用"也"有趣"! 这个数据为王的 ...

  6. Python基础包含哪些内容?学习什么?

    Python基础包含哪些内容?学习什么?学习Python基础了解Python语言起源.设计目标.设计哲学,Python语言的优缺点和面向对象的基本概念.执行方式.集成开发环境PyCharm的使用为Py ...

  7. python爬虫教程书籍-python爬虫有哪些书(python爬虫教程知乎)

    python爬虫有哪些书 python有哪?下面给大家介绍6本有关爬书: 更多Python书籍推荐,可以参考这篇文<想学python看哪些书> 1.Python网络爬虫实战 本书从Pyth ...

  8. python和爬虫什么关系-《python和爬虫什么关系》 python爬虫有哪些书

    python爬虫有哪些书 python爬虫有哪?下面给大家介绍6本有关爬书: 更多Python书籍推可以参考这篇文章:<想学python看哪些书> 1.Python网络爬虫实战 本书从Py ...

  9. python基础教程第二版和第三版哪个好-python基础教程 2版和3版哪个适合新手?!...

    python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...

  10. python基础教程第三版和第二版选哪个-python基础教程 2版和3版哪个适合新手?!...

    python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...

最新文章

  1. tf.keras.layers.Flatten该网络中的第一层tf.keras.layers.Flatten将图像的格式从2d阵列(28乘28像素)转换为28 * 28 = 784像素的1d阵列。可以
  2. 全球16家超级独角兽公司,为什么中国能占7家,印度只有1家?未来哪些行业最可能诞生独角兽?
  3. Quartz.Net 学习之路02 初探Quartz.Net
  4. jquery:validate的例子{转载}
  5. php怎么传json数据_php和js如何通过json互相传递数据相关问题探讨
  6. 【JavaWeb】JavaScript基础篇+高级篇
  7. 经典的机器学习方面源代码库(非常全,数据挖掘,计算...)
  8. go语言如何实现继承
  9. UIScrollView 手势缩放
  10. 为什么我的眼里常含泪水,因为Mysql让我变的深沉(2021最新版mysql安装)
  11. python3-基础8
  12. Java Web开发实战—简介篇
  13. c#教程与视频教程类专题资料免费下载整理合集
  14. 【Java 8 新特性】Java Consumer示例
  15. python牛顿法寻找极值_使用Python实现牛顿法求极值
  16. 北大软微计算机技术硕士复试,【高分学长带你飞】北大软微408学长超详经验贴...
  17. 淘宝API 淘口令解析(POST)
  18. OpenGL学习笔记九——光照3(实现三种光照类型:平行光,点光源,聚光灯)
  19. 一键获取谷歌网盘(Google Drive)真实直链下载地址
  20. php 商品多规格的实现,sku实现

热门文章

  1. ppt转html格式
  2. ELK实时日志分析平台的搭建部署及使用
  3. 99.99%安卓手机存在系统安全漏洞
  4. 信息图:大数据2016年分析趋势
  5. Centos下 自动化配置SSH免密码登陆
  6. Maven开发web项目的搭建
  7. hibernate session的load和get方法
  8. HDU 2757 Ocean Currents
  9. C#(.net)中的一次连接数据库执行多条sql语句
  10. 给企业老总的一封信(一)