想学python网络爬虫,应该怎么开始?怎么应用到实际的工作中?

发布于 2021-12-07 23:02:55
本人教育行业,要学习python编程,准备先考一个计算机二级python证书,对学习有用吗啊?

查看更多

关注者
0
被浏览
1.7k
7 个回答
laowang
laowang 2021-12-07
This guy hasn't written anything yet

谢邀,作为一名CS科班出身,IT行业一线开发者,下面说说自己的看法。

计算机二级Python证书,对于学习没有任何用处。如果不是为了工作中的评职称用,建议还是不要在计算机等级证书上浪费时间。


1、Python基础学习

如果之前没有任何编程语言基础的话,还是建议从Python书籍开始,一步一个脚印,对书上的例子每一个都动手编码实践一遍。这里推荐几本书,可作为参考:

  • Python编程,从入门到实践

  • Python官方教程文档

  • Python核心编程

  • 流畅的Python

初学者的话,可直接使用下载安装VSCode编码,作为一款编辑器安装包足够小巧,搭配Python插件代码智能提示、动态调试等功能还是很香的。

写代码的时间一定要大于看书看视频的时间!

写代码的时间一定要大于看书看视频的时间!

写代码的时间一定要大于看书看视频的时间!

千万不要只看书,不动手编程!


2、Web基础知识学习

这里主要是HTML、CSS、JavaScript等基础语言的学习。不懂得Web如何构成,那么爬虫也很难吧,例如下图你想爬取京东物品价格,可是不懂得浏览器的F12功能、看不懂CSS,怎么开始呢?

一般来说,网站由导航栏、栏目、及正文内容组成,在每个部分中一些div元素、标题a元素、属性class、段落p等等组成,万变不离其宗。这些都是要求学习了解的。

3、网络协议基础知识学习

爬虫过程,可能打交道最多的就是HTTP、HTTPS协议了,试问“从浏览器输入URL到页面返回都经历了哪些过程”这样一个简单的题目你都不了解的话,怎么能玩好爬虫呢?

这里推荐书籍《图解HTTP》,用生动形象的语言,搭配各类图片将晦涩的专业知识娓娓道来,有需要这本书PDF的可以关注留言。当然,学习基础网络知识的过程中,可以搭配Wireshark、Fiddler等抓包软件一起学习。

4、实战

有了以上的基础后,就可以实战Python爬虫了,可以从一些简单的小demo开始,比如你喜欢看电影,可以爬取豆瓣Top50热门电影影评;爬取微博某V的漂亮图片等等等等。

Talk is Cheap,Show Me Your Code!

在IT行业,能用代码解决的问题就不要多说话,这里直接推荐一波优秀的Github开源项目「awesome-python-login-model」,这里就不再贴地址了,大家直接去git上搜索即可。使用python模拟登陆一些大型网站,还有一些简单的爬虫。


最后推荐一本国内作者不可多得的好书《Python3网络爬虫开发实战》,豆瓣评分9.0,课帮助系统的学习爬虫技术的方法面面,有需要PDF的朋友可以关注留言我。

laowang
laowang 2021-12-07
This guy hasn't written anything yet

网络爬虫,说的简单明了一些,就是基于一定规则自动获取网络数据,不管哪种编程语言都可以轻松实现,python针对网络爬虫,提供了大量非常实用的模块和框架,初学来说非常容易,下面我简单一下python爬虫的学习过程,感兴趣的朋友可以尝试一下:

基础的网页知识

这个是最基础也是必须掌握的,我们所爬取的大部分内容都是嵌套在网页中,不管是文本、图片、链接,还是视频、音频都基于html编写显示,你要学习网络爬虫,首先最基本的就是要能看懂网页,知道爬取的内容嵌套在哪个标签中,如何去提取,如果你没有任何网页知识,建议学习一下,两三天时间就能搞懂,不需要精通,能基本看懂就行:

熟悉python基础

网页知识掌握差不多后,就是python入门,这个也是爬虫的基础,毕竟我们定义的所有爬取规则都是基于python编码实现,如果你没有任何python基础,建议好好学习一下(长久来说,也非常有益),基本的语法、语句、函数、类、文件操作、正则表达式等都要熟悉掌握,花个一两个周时间就行,相比较c++、java等编程语言,python学习起来还是非常容易的,入门门槛比较低:

python爬虫入门

python基础熟悉后,就是python爬虫入门,初学的话,可以先从简单易学的爬虫库开始,requests、beautifulsoup、urllib、lxml等都非常不错,官方带有非常详细的教程示例,很快就能熟悉和掌握,对于爬取大部分静态网页来说,都可以轻松实现,先获取网页数据,然后解析提取,最后再保存下来(动态网页数据的获取需要抓包分析,但基本原理类似):

爬虫实战进阶

爬虫基础熟悉后,为了提高开发效率,避免反复造轮子,这里你可以学习一下爬虫框架,python来说,比较著名,也比较受欢迎的就是scrapy,免费开源跨平台,只需添加少量代码,即可快速开启一个爬虫程序,爬取的内容来说,就可以非常多了,可以是文本、图片、链接、视频等,都是基于一定规则提取解析,最重要的就是多练习,多调试代码,不断积累经验,深入一些的话,就是多线程、分布式,提高效率:

python爬虫学习来说,其实不难,只要你有一定python基础,很快就能掌握的,数据获取下来后,最重要的还是分析,这才是重中之重,当然,python针对数据分析也提供了大量的包,比较常用的就是pandas、numpy等,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

yydsflask
yydsflask 2021-12-07
This guy hasn't written anything yet

你好,我来回答下这个问题。看样子你是想从事Python编程方面的教育工作或者进入软件公司工作,我也是从事软件开发8年多了,主要以负责核心技术架构为主,目前也在从事编程方面的教育培训工作。


我觉得学习编程,兴趣是第一位的,你首先要喜欢上这门语言,才可以学习的持久,可以学的深入。


不知道你没有编程方面的基础,如果有的话,那就最好了,因为说实话,Python编程不难学的,和Java、C等比起来简单一些。建议你还是买一些Python方面的书籍来学,建议买国外写的一些IT书籍,质量更高一些。这里给你推荐几本:



爬虫知识是Python知识体系中的一部分,也是Python比较擅长和成熟的部分,目前已经有不少优秀的框架了,使用起来很简单,不过我建议你还是通过看书来有体系的学习一下比较好。


考证书的话,如果你是从事Python教育工作,那还有一点用处;如果你是进入软件公司上班,那我建议这个证书大可不必去考,公司不会看这的,也不会以这个评估你Python水平的高低,以你的实力说话。


如果你觉得学习Python有些枯燥,可以看下我发布的原创系列视频《跟我学Python,创意编程之旅》,@科技时代聊编程 ,谢谢,希望可以帮助到你。

yydsflask
yydsflask 2021-12-07
This guy hasn't written anything yet

学习网络爬虫,首先需要系统的学习python基础知识,虽然不用学也能跟着别人的代码做,但是最好能系统的学习下基础知识,要不很多时候你是懵逼状态的,然后需要学习抓包分析数据知识,因为爬虫类的知识都是需要分析被爬去目标的数据结构,类型,在进行过滤筛选出自己需要的数据,不过现在有很多现成的爬虫框架,没必要自己造轮子,但是也最好能自己造轮子,这样有利于提高自己的编码能力。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览