一,概念
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,可以应用于数据挖掘,信息处理或存储历史数据等一些列的程序中。Scrapy最初就是为了网络爬取而设计的。
<1>, requests和beautifulsoup是库,scrapy是框架
<2>, scrapy框架中可以加入requests和beautifulsoup
<3>, scrapy基于twisted(异步io的框架),性能是最大的优势
<4>, 易于扩展,提供了很多内置的功能
<5>, Scrapy内置的css和xpath selector非常方便,beautifulsoup最大的缺点就是慢
二,网页分类
1, 静态网页
事先生成好的,并没有和数据库相关
2, 动态网页
页面中有数据库动态填充的数据
三,爬虫能做什么
1, 搜索引擎,百度,谷歌,垂直搜索领域搜索引擎(知道自己要什么)
2, 推荐引擎,今日头条(根据浏览习惯猜测喜欢的内容,然后推荐给我们)
3, 机器学习的数据样本
4, 数据分析,金融数据分析,舆情分析
四,字符串编码
Unicode编码比ascii需要多一倍的存储空间,传输需要多一倍的传输
可变长的编码utf-8,把英文变成一个字节,汉字三个字节,特别生僻的汉字4-6个字节,如果传输大量的英文,utf-8作用就很明显了
但是,如果把utf-8编码拿到内存里边去处理,就会变得复杂
所以:读取的时候转换为unicode,保存的时候转换为utf-8
注意:
Python在内存中将所有字符按unicode进行编码,要想使用encode,要先保证其为unciode
五,安装scrapy
pip install -i https://pypi.doubanio.com/simple/ scrapy
发现没有装twist,可以去该网站(组件库)去找:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
搜索twisted,找到对应的版本下载
在对应的虚拟环境下,pip install +组件路径
在重新安装