以下知识掌握了,不会写爬虫找我算账
1:python基础
基础要点1:模块的导入和使用、变量作用域、类型转换、变量内存地址、对象的概念、形参/实参、tuple/list/dict/set的操作、字符串操作、for/while/break/continue。
基础要点2:类的定义和使用、类方法/对象方法/静态方法、、Lambda函数、测试/调试、多线程/多进程/锁
2:http协议
http协议是需要下苦功的,为了快速写爬虫,可以重点先理解http头。
懂得http知识才能学会封装一个http请求包,以通过服务器的验证。
谷歌浏览器按F12,打开的开发人员工具显然是个神器,请打开对照学习http协议。
3:数据解压和解码
数据解压和解码容易掌握。
若客户端在http头中去掉"Accept-Encoding",即不接受压缩数据。
若服务器在http头的"Content-Encoding"指明了压缩方式,那么在提取数据之前必须先解压,否则会显示为乱码。
如以下是知乎网的返回的数据解压并解码为utf-8
4:html基础 和 数据的提取
网页的源码都是html的,而网络爬虫通常需要提取网页的数据再存储,采用的方式有正则表达式/lxml/BeautifulSoup。
5:数据保存
提取了数据当然需要保存,怎么保存视乎自己的要求。以txt/csv文件存储、电子表格存储、sqlites3存储、mysql存储、redis存储、mongo存储最为常见
6:爬虫神器scrapy及组件scrapy-redis
这需要好好阅读文档,官方1.4的文档https://doc.scrapy.org/en/latest/intro/tutorial.html
这是极客学院翻译的文档,但不是那么全面。
7:安利个人写的网络爬虫系列,目前只写了《网络爬虫之必备知识》《网络爬虫之数据处理》,后续还有,虽然限于篇幅,有些地方讲的不够深,但写爬虫的最常见要点基本囊括。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有