zl程序教程

您现在的位置是:首页 >  后端

当前栏目

为了让大家更好地学习python爬虫,我们做了一个“靶子”

Python爬虫学习 一个 我们 更好 大家 为了
2023-09-14 09:04:32 时间

1

很多学习 python 的同学应该都听说过“网络爬虫”的概念,也可能听说过用 python 写网络爬虫很方便。

那么什么是爬虫?百度百科上是这么定义的:

网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
一般来说,日常可能会用到的爬虫场景有:

从网页图库里批量下载图片
采集企业/产品名录
收集某部电影下的评价
获取某个球星的比赛数据
……
可以看出,爬虫能替人去解决重复、繁琐的网上数据/资源下载任务。除了这种“一次性”下载的事情,爬虫也可以长期监控某个数据源,比如:

记录某商品的每日价格变动
定时检查某商品有没有到货
统计平台作者的粉丝数量变化
监控热搜榜
……
此外,还有一些模拟网络请求的操作,虽然不算“爬虫”,但所用的技术是类似的,比如:

自动签到打卡
一键发帖机
网页自动回复机器人
……

2

随着大家逐渐认识到“大数据”的重要性,爬虫也是越来越多的被应用到商业之中,学习爬虫、使用爬虫的人越来越多。但某些人对爬虫的滥用也给数据的所有者带来了不少麻烦,一方面,商业数据牵涉到版权、知识产权、商业机密等敏感信息,爬虫经常成为侵权的工具;另一方面,无节制的爬虫请求造成网站的负载激增,甚至影响到正常用户的使用。因此,现在稍微有一定规模的网站,都会对爬虫做不同程度的“反爬”限制,甚至会通过法律途径制止侵权的爬虫行为。

这些限制本身没什么不好,但对于爬虫学习来说,却无形中提高了学习的门槛。

以前,我们会整理一些简单、“友好”的网站讲解爬虫的基本操作和技巧,比如:

  • 从DB网的接口抓取电影信息
  • 从JD网抓图片
  • 从QS百科抓段子
  • 从WY云抓歌词
  • 从ZL抓招聘岗位
  • ……

但如今,这些案例没一个是轻轻松松就能搞定的,什么 header、cookie、key、ajax……没一定的经验是很难上手的。

而且,就算你看明白了一个教程,但只要目标网站一个小更新,原来的示例代码就又失效了,你又只能对着无法成功运行的代码陷入自我怀疑。

3

我们编程教室一直有在做爬虫相关的案例和教程。正因为目睹了太多初学者的困扰,我们决定搞一个“靶子”项目!

在这个项目里,我们做了 11 个任务,每个任务都是一组可以被抓取的接口或网页,难度由低到高:

  1. 第一关:抓取 API
  2. 第二关:批量下载图片
  3. 第三关:抓取文章列表页
  4. 第四关:抓取文章详细页
  5. 第五关:AJAX 异步数据获取
  6. 第六关:限制频率、添加 headers 抓取
  7. 第七关:登录后抓取
  8. 第八关:模拟 post 请求
  9. 第九关:数字图片
  10. 第十关:前端加密
  11. 第十一关:换 ip 抓取

前面的关卡是对爬虫基本技术的练习,可以避免真实网站的“反爬”对初学者的干扰;而在后面的关卡中,我们增加了一些常见“反爬”限制,让学习者逐步接受“现实的毒打”。

这个项目就好比武侠小说中少林寺的“木人巷”,你把这一系列任务通关了,之后行走江湖才更加游刃有余。
朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

4

这个项目要怎么用?

你需要准备 3 样东西:

  • python 3(建议 3.5 以上)
  • django 2.1.5
  • django-tinymce4-lite 1.7.5
    django 和 django-tinymce4-lite 可以通过 pip 安装,安装时指定版本:
pip install Django==2.1.5
pip install django-tinymce4-lite==1.7.5

如果你的电脑上已有其他版本的 django,建议新建一个虚拟环境来安装。

准备完之后,下载项目,然后在项目目录里执行:

python manage.py runserver 

运行项目,如果看到类似下图的界面,说明项目运行成功:
在这里插入图片描述
项目运行成功后,在浏览器中打开网址:

看到如下图的网页,就可以按照关卡任务,开始爬虫抓取练习:
在这里插入图片描述

作为一个IT的过来人,我分享的都是一些自己的学习方法和干货。

最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

四、实战案例

五、面试资料



最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。