学爬虫,我需要掌握哪些Python基础?

更多爬虫实例请见 https://blog.csdn.net/weixin_39777626/article/details/81564819

接触爬虫已经有一段时间了,常常有人问我:我会点Python,想自学爬虫,你看用什么方法好呢br> 我:我喜欢边做项目边学习,爬取过程中遇到问题再百度,扩展
xx:我看了网上教材,过程很简略,最后给了一个编码,有的我实例一下好像还不成功
我:代码也会“过期”,尤其是爬虫,需要自己修改
xx:怎么修改br> 我:Python学到哪了br> xx:集合
我:。。。

入手爬虫确实不要求你精通Python编程,但基础知识还是不能忽视的,那么我们需要哪些Python基础呢br> 首先我们先来看看一个最简单的爬虫流程:

这里写图片描述

线程与进程

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

  • 进程: 资源分配的最小单位
  • 线程: 程序执行的最小单位

看起来太抽象了,我们打个比方吧:
进程就相当于你打开的一个个程序,如QQ,微信,微博等,而进程就相当于程序里的每一个命令,如收发消息等

这里写图片描述

比较

多进程 多线程
数据共享
同步
复杂
简单
简单
复杂
内存
CPU
占用内存多,切换复杂
利用效率低
占用内存少,切换简单
利用效率高
创建销毁
切换
复杂,速度慢 简单,速度快
编程
调试
简单
简单
复杂
复杂
可靠性 进程间不会相互影响 一个线程挂掉将导致整个进程挂掉
分布性 多核、多机 多核

## 2.协程 协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。 在刚刚的例子中,协程又是一个怎么样的存在呢群发消息和调用多个程序时,都会受流量(相当于CPU)的影响而无法将资料发送出去,而假如我让同学B帮忙发资料,他发资料时候并不占用我的流量,因此效率更高,此时,同学B就相当于我的一个协程,所以协程在一定程度上又好于多线程

这里写图片描述

更多爬虫实例请见 https://blog.csdn.net/weixin_39777626/article/details/81564819

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树网络爬虫urllib208386 人正在系统学习中

来源:小小蒲公英

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月18日
下一篇 2018年7月18日

相关推荐