数据挖掘、机器学习和人工智能的基础皆为数据,数据来源的主要方式之一即是爬虫。
今天准备体验Scrapy爬虫框架,以流水账的形式记录。
一、Scrapy的安装
实验环境:MacOS 10.13.6、Python 2.7.10
所需工具:pip
1、安装pip
mac 自带 python 2.7,所以很方便。
pip是python里的安装包,可以很方便的安装python selenium。
首先 打开终端 terminal
然后 输入 sudo easy_install pip 安装pip。
输入pip --version显示如下信息
//这水印也忒闹心了- -
2、安装Scrapy
成功安装pip之后可以很便捷地安装Scrapy
输入指令sudopip install Scrapy
若存在错误提示,直接将提示内容google搜索,添加关联函数即可。
安装成功后输入指令scrapy version 显示版本内容
3、坑-集锦
(1)安装p报错 six-1.4.1已存在,uninstall six 操作被拒绝,导致安装Scrapy失败。
解决方法:sudo pip installScrapy--upgrade --ignore-installed six
(2)$scrapy -h
我已经安装成功但是提示 scrapy:command not found
解决办法:
创建软连接ln -s/Users/snowman/Library/Python/2.7/bin/usr/local/bin/scrapy
为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件
至此Scrapy已成功安装,如使用python3的朋友,需安装pip3,具体方法本文不再赘述。
二、编写第一个爬虫
1、以下为我们的第一个Spider代码,保存在目录下的文件中
importscrapyclassDmozSpider(scrapy.Spider):name="dmoz"allowed_domains=["dmoz.org"]start_urls=["http://www.dmoz.org/Computers/Programming/Languages/Python/Books/","http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"]defparse(self,response):filename=response.url.split("/")[-2]withopen(filename,'wb')asf:f.write(response.body)
注意如果直接粘贴代码,会出现空白符缺少缩进问题,手动修补。
2、爬取
进入项目的根目录,执行下列命令启动spider:
scrapy crawl dmoz
输出信息如下:
注意若出现如下错误:
running Scrapy but it error: No module named _util
说明需要对pyopenssl进行更新
执行代码如下:
sudo pipinstallpyopenssl--user --upgrade
三、结语
至此我们已经完成了对Scrapy的初体验,后续会模拟实际案例,对Scrapy模型进行更加深入的了解。
领取专属 10元无门槛券
私享最新 技术干货