突然对网络爬虫产生了一些兴趣 (鬼知道是因为什么) ,就在网络找到了些学习资料,花了半个月的时间进行了一个网络爬虫入门学习,当然这种学习要结合实践啦。
Talk is cheap, show me the code!
所以特意将半个月实践的结果按照学习的时间顺序整理好了上传到GitHub上,希望不仅自己可以回顾,也希望可以给广大爱学习的网友一点参考的价值。哦哦哦,还有一点,爬虫可以用各种语言写,C++,Java都可以,这个用的是Python(Why?)
首先用C++搞网络开发的例子不多(可能是我见得太少) 然后由于Oracle收购了Sun, Java目前虽然在Android开发上很重要, 但是如果Google官司进展不顺利, 那么很有可能用Go语言替代掉Java来做Android开发. 在这计算机速度高速增长的年代里, 选语言都要看他爹的业绩, 真是稍不注意就落后于时代. 随着计算机速度的高速发展, 某种语言开发的软件运行的时间复杂度的常数系数已经不像以前那么重要, 我们可以越来越偏爱为程序员打造的而不是为计算机打造的语言. 比如Ruby这种传说中的纯种而又飘逸的的OOP语言, 或者Python这种稍严谨而流行库又非常多的语言, 都大大弱化了针对计算机运行速度而打造的特性, 强化了为程序员容易思考而打造的特性. 所以我选择Python。显然这都不重要,让我们往下看,下面才是重点
················································································································
接下来我做一个简单的介绍,便于大家了解这个项目。
- Day 1
- 学习Python的Request库和fake-useragent库
- 爬取我人生中第一个网页。
- Day 2
- 爬取豆瓣电影动态页面
- 解决网页用户登录、Proxy代理、SSL证书、Session、Cookie等常见问题。
- Day 3
- 正则表达式进行字符串的匹配,Xpath库的使用,BeautifulSoup库的使用,Pyquery库的使用,Jsonpath库的使用。
- 对糗事百科、起点中文网、西刺代理网站、拉勾网站信息进行爬取。
- Day 4
- 多线程的应用
- Tesseract-OCR验证码识别项目,云打码平台接口
- 爬取新闻网站
- Web应用程序测试工具Selenium的认识
- Day 5
- 阶段性总结:利用 Xpath、PS4、re正则表达式、Pyquery爬取猫眼电影网站
- Day 6
- Selenium的简单使用:无头模式、滚动条的使用
- 爬取斗鱼网站、图虫网、彩票网站,并且将数据存储在mysql数据库中
- Day 7
- 学习使用Scrapy框架
- 利用Scrapy框架爬取起点中文网和猫眼电影
- Day 8
- 利用Scrapy框架对多本小说的小说章节进行爬取
- 利用ImagePipeline下载图片
- Day 9
- 演示Scrapy登录的三种方式
- Day 10
- 演示python和MongoDB交互,数据库连接以及操作数据
- 爬取豆瓣电影Top250,将电影名和星级存入数据库中
- Day 11
- splash与requests结合,手写lua代码
- splash和Scrapy结合,手写lua代码
- Day 12
- selenium和Scrapy结合
- 对链家网信息进行爬取,并将数据保存到数据库中(MongoDB和Mysql)
- Day 13
- 分布式爬虫框架的写法,让爬虫具有了分布式爬取的功能
- TreeSoft数据库管理系统的使用
- 从redis中取出数据库到MongoDB数据库中