更多爬虫实例请见 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进行处理,非常感谢!