如果学会了python的基本语法,我认为入门爬虫是很容易的。 我写的第一个爬虫大概只需要10分钟,自学的 scrapyd , 看官方文档花了20分钟,因为我英文不是很好,很多单词需要搜索一下。
(scrapy 并不是入门必须的) 再接触到了 requests , lxml ,配合基本库 urllib, urllib2 就几乎无所不能了。后来有人推荐我用 BeatufulSoup 之类的库,但其实原理都差不多。一、入门爬虫的干货 0. 爬虫的基本思路 a. 通过URL或者文件获取网页, b. 分析要爬取的目标内容所在的位置 c. 用元素选择器快速提取(Raw) 目标内容 d. 处理提取出来的目标内容 ( 通常整理合成一个 Json) e. 存储处理好的目标内容 (比如放到 MongoDB 之类的数据库,或者写进文件里。)
答:我自己总结了一下,在接触爬虫之前:
a. 我挺了解HTTP 协议(看了《HTTP权威指南》), b. 我写过基于Flask框架的后端(大概三年前@萧井陌 在知乎上推荐Flask框架,然后我就自学了,用的是《Flask Web开发:基于Python的Web应用开发实战 》) c. 我写过前端(HTML+CSS+JS),了解什么是DOM ,会一点jquery。 d. 正则也是勉强够用的。 e. 本人大学也是计算机专业,学习挺认真的。 f. 所以算是厚积薄发。
2.那么毫无专业基础,也没有前后端基础的人应该怎么办?
答:那当然要超过半小时啦。先花点时间去大概了解以下内容:
a. HTTP协议的请求方法,请求头部,请求数据 b. 大概了解一下什么是 cookie c. 学一点HTML和元素选择器 d. 学会使用Chrome 的 开发者工具
磨刀不误砍柴工,当然如果有人带着,这些大概1-2小时就能过到能凑合用的程度了。如果没人带,就上网搜索学习一下,也很快的,估摸最多十小时。
3.Python 爬虫常用的库是哪些?入门应该掌握哪些库? 答:网上有很多相关的资料,但是我个人觉得新入门的人,不需要也不应该一下子接触所有的库。正如幼儿刚开始学说话的时候,不应该同时教普通话粤语闽南语英语。 我个人认为,学会 requests 和 lxml ,就可以入门爬虫了。