记得刚开始学习python时就以为爬虫特别神奇,特别叼,可是网上的中文资料大都局限于爬取静态的页面,涉及到JavaScript的以及验证码的就不多了,【当时还并不习惯直接找外文资料】就这样止步于设计其相关的爬虫了,前两周图灵社区书籍推荐邮件来了本《python网络数据采集》,英文名《web scraping with python》,以为有意思就下了本英文版的PDF看完了,发现其不只讲的很系统并且也完美的解决了当时我存在的问题,而我就在想,若是当时就可以读取到这本书那是否是就很屌呢,是否是就可以少走不少弯路呢?我第一次认为是这样的,还略有点抱怨搜了那么多python爬虫的资料竟然没有人推荐这么好的东东,真是很差,然后我又想其实总的来讲,这本书的牛逼之处在于把方方面面须要用到的知识都告诉你了,做者用多年的经验举重若轻地全面的透露了所需,因此你就以为知足了,可是面对新技术的出现,并不可以只依靠别的大神来告诉你方方面所须要的东西,如何可以本身成为那种起头的研究透的人才是最重要的,想到此又怪本身当初为什么就没能本身去搞定这些呢,而不该该是埋怨别人没有告诉你?最后昨晚在看一本书时看到的一些东西以为颇有道理:新手每每面对二阶不胜任的状况(second-order incompetence):不知道本身不知道多少,因此首先须要发挥R&D精神:Rip off and Duplicate 【偷师学艺】,然后需记住,不管是对你本身或对他人,一种规格并不是到处适用,正如你从模型中看到的,你的需求取决于你所处的技能水平,随着时间推移,你的我的学习和成长所须要的东西会改变。这么看来也就释然了。python
我将《scraping with python》中每一章节最有用的东西的提取了出来并作了一些补充,github地址git
各章内容提要:github
第一章:最简单的用urllib.request中的urlopen配合BeautifulSoup提取某页面的HTMLweb
第二章:如何用BeautifulSoup定位到想要的内容,如何配合正着表达式使用,如何获取标签中的属性sql
第三章:实际演示了经过一个页面中的link连续爬取,涉及到了防止爬取重复等问题api
第四章:使用网站既有的API来获取数据服务器
第五章:保存数据的问题,保存URL仍是下载下来?保存到Mysql,Email等等网络
第六章:若是不是要爬取HTML而是读取服务器的如TXT,PDF文件应该如何弄python爬虫
第七章:数据清理(如替换连续空格,替换连续空行,去掉非英文内容),以及第三方工具介绍工具
第八章:关于天然语言处理中的n-gram ananysis
第九章:提交表单,使用COOKIE,使用SEESION
第十章:使用selenium以及PhantomJS搞定Javascript
第十一章:验证码的识别
第十二章:防止被服务器认定为机器人的措施小结