鱼C论坛

 找回密码
 立即注册
查看: 709|回复: 3

[已解决]推进一本书吧

[复制链接]
发表于 2020-6-4 10:07:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这几类(必须是专门讲这个的)

1. 爬虫
2. pygame
3. PIL

哪位大佬给我个链接呀(纸质书(淘宝))
最佳答案
2020-6-4 12:53:56
本帖最后由 赚小钱 于 2020-6-4 12:57 编辑

印象中,在使用 PIL 的时候,就用过读取长宽像素值。不确定 exif 的信息是不是在 PIL 库。更多的处理,都是使用的 OpenCV。

爬虫分成三类
1. 正则提取(不推荐)
2. css selector 还可以吧,不具有普适性,如果编码能力好,把操作 css selector 的部分,封装成插件,用起来还可以(一般)
3. chrome-headless,phantomjs,比较推荐这类,很多页面,使用了诸如 js 动态加载,iframe 这些前端技术,上面两种方式,就不好用了。还是浏览器类型的好用,尤其是这种,不需要图形界面的浏览器。(强烈推荐)

所以,总结出爬虫可能需要的知识
1. 正则,用的时候要注意使用的标准,posix,pcre,re2 等,有细微差别
2. css selector 去 MDN 学就行
3. 阅读官方文档,和所选语言的库函数文档
此外,还需要
1. 应对反扒机制,比如代理,代理池
2. 作为一个高素质的爬虫开发者,应该遵守 robots.txt 规则,比如,google 是遵守的,baidu 不遵守
3. 单线程,太慢了,就要去学并发编程,如何创建线程,进程
4. 学会并发编程,还要学会控制并发,比如连接池,线程池
5. 线程,进程之间数据交换
6. 爬虫运行过程崩溃了,如何恢复任务
7. 多线程也满足不了性能需求了,考虑多机分布式爬虫
8. 将爬虫从客户端架构,进化为 C/S 架构,或者是 B/S 架构
9. 完成第 8 条改进,就应该可以同时执行多个爬虫任务了,此时就需要考虑调度问题了
10. 允许暂停某个任务,优先执行某些任务,比如爬个图啦
11. 然后就是运维方面,学习 docker k8s 容器化部署
12. 使用 GitLab/GitHub 等平台管理源代码
13. 学习编写单元测试
14. 然后你会发现,单元测试好难写啊,然后,就要去学,如何编写可测试的代码
15. 提交代码,使用 CI 自动完成测试,使用 CD 自动部署代码

以上,是我能想到研究爬虫的发展路线,和所需知识。
爬虫不是任何一本书能讲清楚的。根据自己当前所处的阶段,选择对应的书籍。
上面 1 - 15 个阶段,不清楚的,我都可以推荐资料。
加油。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-4 10:08:35 | 显示全部楼层
学生党没钱

贵的不用说

眼不看心不烦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-4 10:18:47 | 显示全部楼层
爬虫进去看大佬推荐的自己选选

《Beginning Game Development with Python and Pygame》  Pygame 的书籍

PIL 不知道了 没查到有关书籍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-4 12:53:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 赚小钱 于 2020-6-4 12:57 编辑

印象中,在使用 PIL 的时候,就用过读取长宽像素值。不确定 exif 的信息是不是在 PIL 库。更多的处理,都是使用的 OpenCV。

爬虫分成三类
1. 正则提取(不推荐)
2. css selector 还可以吧,不具有普适性,如果编码能力好,把操作 css selector 的部分,封装成插件,用起来还可以(一般)
3. chrome-headless,phantomjs,比较推荐这类,很多页面,使用了诸如 js 动态加载,iframe 这些前端技术,上面两种方式,就不好用了。还是浏览器类型的好用,尤其是这种,不需要图形界面的浏览器。(强烈推荐)

所以,总结出爬虫可能需要的知识
1. 正则,用的时候要注意使用的标准,posix,pcre,re2 等,有细微差别
2. css selector 去 MDN 学就行
3. 阅读官方文档,和所选语言的库函数文档
此外,还需要
1. 应对反扒机制,比如代理,代理池
2. 作为一个高素质的爬虫开发者,应该遵守 robots.txt 规则,比如,google 是遵守的,baidu 不遵守
3. 单线程,太慢了,就要去学并发编程,如何创建线程,进程
4. 学会并发编程,还要学会控制并发,比如连接池,线程池
5. 线程,进程之间数据交换
6. 爬虫运行过程崩溃了,如何恢复任务
7. 多线程也满足不了性能需求了,考虑多机分布式爬虫
8. 将爬虫从客户端架构,进化为 C/S 架构,或者是 B/S 架构
9. 完成第 8 条改进,就应该可以同时执行多个爬虫任务了,此时就需要考虑调度问题了
10. 允许暂停某个任务,优先执行某些任务,比如爬个图啦
11. 然后就是运维方面,学习 docker k8s 容器化部署
12. 使用 GitLab/GitHub 等平台管理源代码
13. 学习编写单元测试
14. 然后你会发现,单元测试好难写啊,然后,就要去学,如何编写可测试的代码
15. 提交代码,使用 CI 自动完成测试,使用 CD 自动部署代码

以上,是我能想到研究爬虫的发展路线,和所需知识。
爬虫不是任何一本书能讲清楚的。根据自己当前所处的阶段,选择对应的书籍。
上面 1 - 15 个阶段,不清楚的,我都可以推荐资料。
加油。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 00:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表