学习路径是我自己练手python爬虫项目时提炼和精选的。事先声明:学习好比看医生,每个人目的和问题不一样,再者知识结构也不一样,这书单只适合我自己,给我自己用的,可能会走弯路,怕误导大家,大家不要看啊。
学习资源请单:
1)官方Python 最新英文版 ,点左边链接
Python 3.5中文版 ,点左边链接
2)语法入门书:
《Python编程 从入门到实践》,这门讲的很好,浅显易懂,还包括可视化+Django+heroku的内容。大家不要看其他大牛推荐的什么简明教程什么笨方法学python,这类的书知识不成体系,还是看专业人写的书吧,血的教训,浪费好多时间。推荐书时,能不能自己读过后再推荐,推荐错了害不少人呐亲。
入门的还有《python语言及其应用》,这本语法很全面,想省时间的看前本吧。或者《python快速上手-让繁琐工作自动化》也很不错,比前面两本书的多很多案例,而且案例可以让自己的效率有提高。
3)练手项目:
A github上的开源Demo:
如Awesome Python 资源整理集合,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等
B 视频相关的开源Demo:慕客网上有,关于爬虫框架原理解释的很到位。
C 社区上的开源Demo;deeplearning.net/demos。
D: 网友分享的Demo:http://cuiqingcai.com/1052.html。
4) 社区:google+的数据和机器人小组,Matrix 67,deeplearning.net,集搜客GooSeeker,Stackoverflow,Segmentfault,Codecademy,九章算法,leetcode刷面试题,ruby-china.,CSDN,Quera,stack exchange中tag为机器学习的部分,生物学社区AGCTU(关于统计和图表部分)。
5)考虑输出:比如翻译外文的译言
6)中高级篇:检索,采集,分析,挖掘和机器学习相关书籍
数据采集:
关键词:有lxml,beautiful soup,正则表达式,反爬虫(user-agent,time.sleep,cookie,代理ip,selenium操纵浏览器,验证码识别等都需要了解啊),反编译,利用抓包技术提取,利用嵌入式浏览器,利用IDA软件逆向分析技术,移动APP漏洞及安全相关等。
动态页面提取方案有:
上面截图来自这篇文章《基于IDA逆向分析的AppStore应用爬取》 ,这篇文章我要好好看。
反编译爬虫的例子:见这篇文章《用xposed框架抓取微信朋友圈数据》
书:
有《用python写网络爬虫》(详细,但是python2版本)
《自己动手写网络爬虫》罗刚(里面的思想可以借鉴,但是是用java实现的)
《Python网络数据采集》(初学者可以了解爬虫需要用到哪些知识,挺不错的)
《利用PYTHON进行数据分析》:看书名就知道写什么了。
《图解HTTP》或者《HTTP权威指南》:了解http协议的,如果有基础,就不要看了,前书通俗易懂适合初学者,后者全面相对不够通俗适合有计算机基础的看。
《精通正则表达式》(正则表达式),scrapy源码分析,《Python源码剖析》。
《Lucene 3.0 原理与代码分析》,LuceneInAction(第2版),Lucene+nutch搜索引擎开发,开发自己的搜索引擎——Lucene+Heritrix(第2版),其他的见这篇文章“Lucene和Solr 学习路径”
搜索引擎Demo:悟空搜索
《搜索引擎中网络爬虫的研究与实现》段兵营
《深入研究web主题爬虫的关键性原理》王芳
《软件逆向工程技术研究及应用》
《基于IDA-PRO》软件逆向分析方法 秦清文
《支持ajax技术的主题网络爬虫系统研究与实现》
数据分析:
关键词有:自然语言处理(如中文分词和词性标注),命名实体识别,分词工具
《机器学习:实用案例解析》 /《贝叶斯思维:统计建模的Python学习法》/《集体智慧编程》/《推荐系统实践》/《机器学习实战》/《数据挖掘导论(完整版)》/ 《终极算法》 /《推荐系统》/ 《Python机器学习:预测分析核心算法》 /《统计自然语言处理(第2版)》
,《机器学习:实用案例解析》,《社交网站的数据挖掘与分析》,《Python数据科学指南》,《Python数据分析实战》,《Python数据分析与挖掘实战》有案例,
数据库大家可以看高性能MySQL (豆瓣),《Head first Python》,《数据可视化实战——使用D3设计交互式图表》,《集体智慧编程》,《机器学习系统设计》,《机器学习实战》,《推荐系统》,《统计学习方法》,《看穿一切数字的统计学》,《数据可视化之美》,《图表说话》,参加Kaggle竞赛等
数据存储和可视化:
信息链接:URI,sql
存储:json,如PostgreSql,excel,图数据库Neo4j/OientDB,RDF数据库Startdog。
可视化:tableau,D3,matlib,pysql。
开发环境安装
开发环境安装流程见: http://www.jianshu.com/p/d99f6fd8b209
安装开发环境步骤(win环境+64位+python最新3.6版本+mongodb):
1、安装python 3.6版本
查看是否安装成功:启动python解释器(快捷键win+r),在cmd里输入python,没报错就表示安装成功了。 命令行窗口退出python解释器,需要输入uexit()
2、用Python自带的IDE练手熟悉Python基础语法:
记住常用快捷键:1)ctrl+n 自动创建一个编辑文件,编辑好后,再F5执行就可以了;或者在python IDE(GUI)的窗口中的File->New Window创建。2)增加多行缩进: Ctrl + ] (右中括号)
3)减少多行缩进:Ctrl + [ (左中括号) ; 4)添加多行注释:Alt + 3 ; 5)取消多行注释:Alt + 4
6)更多可以查看 IDLE菜单栏的Options -> Configure IDLE… -> Keys选项卡
如果想自定义快捷键,则选中要自定义的命令,然后点击Get New Keys for Selection
3、安装pip自动安装包,省时间
安装pip 流程
4、安装request请求包
官方地址
5、安装Scrapy爬虫框架
安装时发现building twisted.test.raizer extention报错,网上找了下,发现有网友已经提供这个问题的解决方案了,网址:twisted安装注意事项 和下载twisted,安装步骤 ,以及这个。
验证Scrapy是否成功,python shell下输入 import scrapy 不报错就说明安装成功。
如果python安装python库的时候经常报错,可以看这篇文章有解决方案
Scrapy入门教程Demo:见这里
6、安装pyopenssl加密包
7、安装bootstrap前端开发的开源工具包
8、安装builtwith包,用于查看网站用了哪些技术。
python安装builtwith会遇到问题,不过可以看这位网友的解决方案
9、安装pycharm的开发环境:步骤见这个。
pycharm激活:用这个lanyus.
注意:配置调试scrapy爬虫项目,需要点击工具栏run--》edit configuration 。
10、安装虚拟环境virtualenv包
python -m venv 创建虚拟环境,虚拟环境\Scripts\activate (不包含source )来激活这个虚拟环境
django-admin.py startproject webSite因为版本问题有时候会报错,执行django-admin startproject webSite就行。
11、安装Django和数据库:
安装Django的流程一定要看官方的:中文版见这里 ,如果不按照官方的,你会碰到“no module named django”,但是其实已经安装了,是不是百思不得其解~~所以一定按照官方来!!
另外,Django 案例官方也有了~~。
数据库我选择mongodb,网友选择哪个数据库可以参考这个答案 。
python版的sqlite用法见:这里
12.部署app到服务器heroku 或者openshift:http://xpleaf.blog.51cto.com/9315560/1739940/ , http://www.tuicool.com/articles/Q3y2Qb , https://www.v2ex.com/t/40405
等会再更新