Python爬虫总结
总的来说,Python爬虫所做的事情分为两个部分,1:将网页的内容全部抓取下来,2:对抓取到的内容和进行解析,得到我们需要的信息。
目前公认比较好用的爬虫框架为Scrapy,而且直接使用框架比自己使用requests、beautifulsoup、re包编写爬虫更加方便简单。
1、关于Scrapy框架
简介: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。其最初是为了 页面抓取 (更确切来说,网络抓取)所设计的, 也可以应用在获取API所返回的数据(例如Amazon Associates Web Services )或者通用的网络爬虫。
官方文档地址 : http://scrapy-chs.readthedocs.io/zh_CN/1.0/index.html
Scrapy安装 : pip install Scrapy
创建Scrapy项目: scrapy startproject scrapyspider(projectname)
该命令创建包涵下列内容的目录:
这些文件分别是:
scrapy.cfg: 项目的配置文件。
scrapyspider/: 该项目的python模块。之后您将在此加入代码。
scrapyspider/items.py: 项目中的item文件。
scrapyspider/pipelines.py: 项目中的pipelines文件,用来执行保存数据的操作。
scrapyspider/settings.py: 项目的设置文件。
scrapyspider/spiders/: 放置爬虫代码的目录。
编写爬虫:以爬取豆瓣电影TOP250为例展示一个完整但简单的Scrapy爬虫的流程
首先,在items.py文件中声明需要提取的数据,Item 对象是种简单的容器,保 存了爬取到得数据。 其提供了 类似于词典(dictionary-like) 的API以及用于声明可 用字段的简单语法。许多Scrapy组件使用了Item提供的额外信息: exporter根据 Item声明的字段来导出 数据、 序列化可以通过Item字段的元数据(metadata) 来 定义、trackref 追踪Item 实例来帮助寻找内存泄露 (see 使用trackref调试内 存泄露) 等等。
Item使用简单的class定义语法以及Field对象来声明。我们打开scrapyspid