爬虫框架

2016-04-29

大幅提升爬取效率-缓存中间件

Requests-Cache https://requests-cache.readthedocs.io/

一个神器,大幅提升爬虫爬取效率!https://mp.weixin.qq.com/s/fKbWJgdX1KHiLMoUDrqHgw

scrapy爬虫框架

安装:

依赖安装的文件大致如下:

apt-get install python-lxml python-dev libffi-dev
pip install w3lib
pip install cssselect
pip install cryptography
pip install Twisted
pip install scrapy

创建项目(project):

scrapy startproject douban

接下来目录下会生成douban目录:

douban
|-- douban
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- items.py
|   |-- pipelines.py
|   |-- settings.py
|   `-- spiders
|       |-- __init__.py
|       `-- spider.py
`-- scrapy.cfg

这些文件分别是:

scrapy.cfg: 项目的配置文件
douban/: 该项目的python模块。之后将在此加入代码。
douban/items.py: 项目中的item文件.
douban/pipelines.py: 项目中的pipelines文件.
douban/settings.py: 项目的设置文件.
douban/spiders/: 放置spider代码的目录.

生成示例应用

cd douban/
scrapy genspider malu malu.me

执行爬虫

scrapy crawl malu

查看版本

scrapy version
scrapy version -v

scrapy shell

启动终端:

scrapy shell 'http://scrapy.org' --nolog

推荐安装ipython(调试起来更方便):

apt-get install ipython

直接xpath调试:

sel.xpath('//*[@id="ip_list"]/tr[2]/td[2]/text()').extract()[0]

查看url和内容:

response.url
response.body

ipython history:

In [1]: %history

官方文档:http://doc.scrapy.org/en/latest/index.html

中文文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/index.html

pyspider

文档:http://docs.pyspider.org/en/latest/