更多爬虫实例请见
接触爬虫已经有一段时间了,常常有人问我:我会点Python,想自学爬虫,你看用什么方法好呢?
我:我喜欢边做项目边学习,爬取过程中遇到问题再百度,扩展
xx:我看了网上教材,过程很简略,最后给了一个编码,有的我实例一下好像还不成功
我:代码也会“过期”,尤其是爬虫,需要自己修改
xx:怎么修改?
我:Python学到哪了?
xx:集合
我:。。。
入手爬虫确实不要求你精通Python编程,但基础知识还是不能忽视的,那么我们需要哪些Python基础呢?
首先我们先来看看一个最简单的爬虫流程:
所以,你需要的掌握的最最最基本的Python知识点有
当然只掌握这些是远远不够的,因为我们还有分布式爬虫,爬虫框架等,这要求我们掌握线程与进程;这两个可能会比较陌生,我还没接触爬虫时候也不懂这些,所以先来看看他们的概念
看起来太抽象了,我们打个比方吧:
进程就相当于你打开的一个个程序,如QQ,微信,微博等,而进程就相当于程序里的每一个命令,如收发消息等
多线程、多进程顾名思义就是多个线程、进程并行,是实现多任务的好帮手,所以在效率上有
单进程+单线程 < 单进程+多线程 < 多进程+多线程
再来打个比方,假如我要给整个班级的同学发份资料,我可以通过微信一个一个地发给他们——单进程+单线程,但这效率实在太低了,特别费时;于是我可以选择用微信群发啊——单进程+多线程,这样效率一下子提高了很多,但问题又来了,微信群发上限是200人,假如我要给400人发文件,是不是就得分两次群发呢?为了节省时间,我还可以一部分用qq群发,一部分用微信群发,这就是多进程+多线程
多进程 | 多线程 | |
数据共享 同步 | 复杂 简单 | 简单 复杂 |
内存 CPU | 占用内存多,切换复杂 利用效率低 | 占用内存少,切换简单 利用效率高 |
创建销毁 切换 | 复杂,速度慢 | 简单,速度快 |
编程 调试 | 简单 简单 | 复杂 复杂 |
可靠性 | 进程间不会相互影响 | 一个线程挂掉将导致整个进程挂掉 |
分布性 | 多核、多机 | 多核 |
更多爬虫实例请见
本文发布于:2024-02-01 19:00:12,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170678520938771.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |