前言
接触爬虫已经有一段时间了,常常有人问我:我会点python,想自学爬虫,你看用什么方法好呢?
我:我喜欢边做项目边学习,爬取过程中遇到问题再百度,扩展
xx:我看了网上教材,过程很简略,最后给了一个编码,有的我实例一下好像还不成功
我:代码也会“过期”,尤其是爬虫,需要自己修改
xx:怎么修改?
我:Python学到哪了?
xx:集合
我:。。。
入手爬虫确实不要求你精通Python编程,但基础知识还是不能忽视的,那么我们需要哪些Python基础呢?
首先我们先来看看一个最简单的爬虫流程:

第一步:
确定爬取页面的链接,由于我们通常爬取的内容不止一页,所以要注意看看翻页、关键字变化时链接的变化,有时候甚至要考虑到日期;另外还需要主要网页是静态、动态加载的。
第二步:
请求资源,这个难度不大,主要是Urllib,Request两个库的使用,必要时候翻翻官方文档即可
第三步:
解析网页。请求资源成功后,返回的整个网页的源代码,这时候我们就需要定位,清洗数据了谈到数据,第一个要注意的点就是数据的类型,是不是该掌握!
其次,网页上的数据往往排列十分整齐,这多亏了列表,使用大部分网页数据整洁而有规律,所以列表、循环语句是不是也要掌握!
但值得注意得是网页数据不一定都是整齐而有规律的,比如最常见的个人信息,除了必填选项,其他部分我就不爱填,这时候部分信息缺失了,你是不是得先判断一下是否有数据,再进行抓取,所以判断语句是不是也不能少!
掌握以上内容,我们的爬虫基本上能跑起来了,但为了提高代码效率,我们可以借助函数将一个程序分割成多个小部分,每部分负责一部分内容,这样就能根据需要多次调动一个函数了,如果你再厉害点,以后开发个爬虫软件,是不是还要再掌握个类
第四步:
保存数据,是不是得先打开文件,写数据,最后关闭啊,所以是不是还得掌握文件的读写啊!
所以,你需要的掌握的最最最基本的Python知识点有

线程与进程
当然只掌握这些是远远不够的,因为我们还有分布式爬虫,爬虫框架等,这要求我们掌握线程与进程;这两个可能会比较陌生,我还没接触爬虫时候也不懂这些,所以先来看看他们的概念
进程:资源分配的最小单位
线程:程序执行的最小单位
看起来太抽象了,我们打个比方吧:
进程就相当于你打开的一个个程序,如QQ,微信,微博等,而进程就相当于程序里的每一个命令,如收发消息等

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

比较

协程
协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。 在刚刚的例子中,协程又是一个怎么样的存在呢? 群发消息和调用多个程序时,都会受流量(相当于CPU)的影响而无法将资料发送出去,而假如我让同学B帮忙发资料,他发资料时候并不占用我的流量,因此效率更高,此时,同学B就相当于我的一个协程,所以协程在一定程度上又好于多线程 !
最后小编为大家准备了一些python的学习教程分享,希望可以帮助到大家。
零基础Python学习资源介绍
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈
检查学习结果。
👉面试刷题👈


资料领取
上述这份完整版的Python全套学习资料已经上传优快云官方,朋友们如果需要可以微信扫描下方优快云官方认证二维码输入“领取资料” 即可领取

好文推荐
了解python的前景:https://blog.youkuaiyun.com/weixin_49895216/article/details/127186741
了解python能做什么:https://blog.youkuaiyun.com/weixin_49895216/article/details/127124870

1925

被折叠的 条评论
为什么被折叠?



