如何入门 Python 爬虫?
在开始前,
必须声明,此回答仅限入门。因为爬虫与反爬虫之间是“斗智斗勇”的,要深入,无比复杂,要掌握的知识太多太多了。
另外,通过爬虫获取数据应合法使用,有可能触犯相关法律,详情请咨询律师等相关专业人士。
那么,如何入门 Python 爬虫?现在尝试粗浅地分享一些建议,仅供参考:学习 Python 语言基础,要使用 Python 爬虫,首先必须掌握 Python 语言基础;
学习网页的基础构成,包括 HTML 和 CSS,有时候还要了解一些 JavaScript;
学习网络通信的基础协议 —— HTTP 协议;
学习 Python 中常见的爬虫框架和解析库;
……
学习 Python 语言基础
什么是语言基础呢?参考王垠先生的文章《如何掌握所有的程序语言》,任何一种“语言”,都是各种“语言特性”的组合。
“语言特性”具体大概就类似于:变量定义;
算术运算;
for 循环语句,while 循环语句;
函数定义,函数调用;
递归;
静态类型系统;
类型推导;
lambda 函数;
面向对象;
垃圾回收;
指针算术;
goto 语句。
再具体一点,就如骆昊先生在 GitHub 上的项目“Python - 100 天从新手到大师”的学习教程一样,把 Day20 以及之前的内容学完就可以了;如果你用的是《 Python 编程:从入门到实践》这本书学习,那么把第一部分 基础知识学习完就可以了,亦即第 11 章 测试代码以及之前的内容。因为编程很注重实践,这个时候可以在做中学,一些知识点也不必一定要完全明白,可以暂时跳过,如 lambda 表达式理解有困难,在多次实践后可能会豁然开朗的顿悟。在做中学的一个可能的方法是配合速查表(cheat sheet)学习,我在知乎问答《怎么自学 Python,大概要多久?》中有过简单分享。《 Python 编程:从入门到实践》一书的附赠资源中就包含了一份 PDF 格式的 Python 入门速查表。可以打印出来贴在你的位置上,或者杯子上都可以,随时查看。《 Python 编程:从入门到实践》附赠 Python 入门速查表
学习网页的基础构成
因为是入门级别的,这部分简单了解即可。像菜鸟教程,W3School 等都有大量的 HTML 和 CSS 以及 JavaScript 的免费教程。如果想更深入还可以通过 MDN 学习。一点小 Tips,学习网页的基础构成,记得用上浏览器的开发者工具(Chrome),其他浏览器也是有类似的功能,如 Microsoft Edge、Firefox 等。使用 Chrome 浏览器的开发者工具
学习网络通信的基础协议 —— HTTP 协议
和学习网页的基础构成一样,由于是入门级别的,同样可以通过诸如菜鸟教程等在线学习网站学习,先有一个大致的了解,然后在做中学,边实践边学习,同时记得用上浏览器的开发者工具。大量的免费学习教程
学习 Python 中常见的爬虫框架和解析库
Scrapy 是一个常见的 Python 爬虫框架,有非常多的文档资料和教程。例如这里有一个 SCRAPY 爬虫实验室网页,用于学习、测试使用。SCRAPY 爬虫实验室
Scrapy 的强大之处还自带了命令行工具,调试起来实在是太方便了。Scrapy 强大的命令行工具
Scrapy 支持 XPath 提取数据,也支持 CSS 等提取数据。当然你还可以学习其他解析库,例如 Beautiful Soup,然后结合 Scrapy 使用。
小结
以上只是入门的一些参考,同时注意编程非常注重实践,必须多加练习,在实践中不断进步。
参考
如何掌握所有的程序语言www.yinwang.orgPython - 100天从新手到大师github.com怎么自学python,大概要多久?www.zhihu.comw3school 在线教程www.w3school.com.cnHTTP 教程 | 菜鸟教程www.runoob.comSCRAPY爬虫实验室 - SCRAPY中文网提供lab.scrapyd.cnMDN Web Docsdeveloper.mozilla.org