Scrapy 安装与使用

Scrapy的安装:

当前环境win10,python_3.6.4,64bit。在命令提示符窗口运行pip install Scrapy,出现以下结果:

building ‘twisted.test.raiser‘ extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

按报错提示安装之后错误依旧存在;

http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted> 下载Twisted对应版本的whl文件,cp后面是python版本,amd64代表64位,重新运行pip install命令:

 pip install C:\Users\E5-573G\Desktop\2018寒假\Python\爬虫\scrapy\Twisted-17.5.0-cp36-cp36m-win_amd64.whl1 

其中install后面为下载的whl文件的完整路径名 。

然后再次运行 pip install scrapy 命令即可安装成功。

Scrapy命令行格式:

Scrapy常用命令:

应用Scrapy爬虫框架主要是编写配置型代码。

Scrapy的第一个实例:演示HTML地址。

演示HTML页面地址:http://python123.io/ws/demo.html

文件名称:demo.html

产生步骤:

步骤1:建立一个Scrapy爬虫工程;

选取一个目录(C:\Users\E5-573G\Desktop\2018寒假\Python\爬虫\scrapy),然后执行如下命令:

生成的工程目录:

python123demo/ ——————— 外层目录

? scrapy.cfg ——————— 部署Scrapy爬虫的配置文件

? python123demo/ ——————— Scrapy框架的用户自定义python代码

? init.py ——————— 初始化脚本

? items.py ——————— Items代码模板(继承类)

? middlewares.py ————— Middlewares代码模块(继承类)

? pipelines.py ————— Pipelines.py代码模块(继承类)

? settings.py ————— Scrapy爬虫的配置文件

? spiders/ ————— Spiders代码模块目录(继承类)

目录结构 pycache/ ————— 缓存目录,无需修改

? spiders/ ————— Spiders代码模块目录(继承类)

? init.py ————— 初始化脚本

? pycache/ ————— 缓存目录,无需修改

内层目录结构 用户自定义的spider代码增加在此处

步骤2:在工程中产生一个Scrapy爬虫

进入工程目录(C:\Users\E5-573G\Desktop\2018寒假\Python\爬虫\scrapy\python123demo)。然后执行如下命令:

该命令行作用:

生成一个名称为demo的spider

在spiders目录下增加代码文件demo.py

#demo.py
# -*- coding : utf-8 -*-
import scrapy
?
class DemoSpider(scrapy.Spider) :
    name = "demo"
    allowed_domains = ["python123.io"]
    start_urls = [‘heep://python123.io/‘]
?
    def parse (self,response):
      #parse()用于处理响应,解析内容形成字典,发现新的URL爬取请求
        pass

步骤3:配置产生spider爬虫

? 配置:(1)初始URL地址 (2)获取页面后的解析方式

#demo1.py
# -*- coding : utf-8 -*-
import scrapy
?
class DemoSpider(scrapy.Spider) :
    name = "demo"
    #   allowed_domains = ["python123.io"]  #可选
    start_urls = [‘heep://python123.io/ws/demo.html‘]
?
    def parse (self,response):
         #parse()用于处理响应,解析内容形成字典,发现新的URL爬取请求
        fname = response.url.split(‘/‘)[-1]
        with open (fname,‘wb‘) as f:
            f.write(response.body)
            self.log(‘Saved file %s.‘ % fname)

步骤4:运行爬虫,获取网页

在命令行,执行如下命令:

demo爬虫被执行,捕获页面存储在demo.html

回顾demo.py代码

#demo.py
# -*- coding : utf-8 -*-
import scrapy
?
class DemoSpider(scrapy.Spider) :
    name = "demo"
    start_urls = [‘heep://python123.io/ws/demo.html‘]
?
    def parse (self,response):
         #parse()用于处理响应,解析内容形成字典,发现新的URL爬取请求
        fname = response.url.split(‘/‘)[-1]
        with open (fname,‘wb‘) as f:
            f.write(response.body)
            self.log(‘Saved file %s.‘ % fname)

demo.py代码的完整版本

#demo all.py
import scrapy
?
class DemoSpider(scrapy.Spider) :
    name = "demo"
?
    def start_urls(self):
        urls= [‘heep://python123.io/ws/demo.html‘]
        for url in urls:
            yield scrapy.Request(url = url,callback = self.parse)

    def parse (self,response):
         #parse()用于处理响应,解析内容形成字典,发现新的URL爬取请求
        fname = response.url.split(‘/‘)[-1]
        with open (fname,‘wb‘) as f:
            f.write(response.body)
            self.log(‘Saved file %s.‘ % fname)

yield关键字的作用

yield <---------->生成器:包含yield语句的函数是一个生成器;

生成器每次产生一个值(yield语句),函数被冻结,被唤醒后在产生一个值。生成器是一个不断产生值的函数。

生成器每调用一次在yield位置产生一个值,直到函数执行结束。

生成器相比一次列出所有内容的优势:

? 更节省存储空间;

? 响应更迅速;

? 使用更灵活;

Scrapy爬虫的使用步骤:

? 步骤1:创建一个工程和Spider模板;

? 步骤2:编写Spider

? 步骤3:编写Item Pipeline

? 步骤4:优化配置策略

Scrapy爬虫的数据类型:

? Request类、Response类、Item类

Request类:class scrapy.http.Request()

? Request对象表示一个HTTP请求,由Spider生成,由Downloader执行。

Response类:class scrapy.http.Response()

? Response对象表示一个HTTP响应由Downloader生成,由Spider处理。

Item类: class scrapy.item.Item()

Item对象表示一个从HTML页面中提取的信息内容;由Spider生成,由Item Pipeline处理,Item类似字典类型,可以按照字典类型操作。

Scrapy爬虫提取信息的方法:

scrapy爬虫支持多种HTML信息提取方法:Beautiful Scoop、lxml、re、XPath Selector、CSS Selector

CSS Selector的基本使用:

CSS Selector由W3C组织维护并规范。

”股票数据Scrapy爬虫”实例介绍

功能描述:

目标:获取上交所和深交所所有股票的名称和交易信息

输出:保存到文件中

? 技术路线:scrapy

数据网站的确定

获取股票列表:

东方财富网:http://quote.easymoney.com/stocklist.html

获取个股信息:

百度股票:http://gupiao.baidu.com/stock/

单个股票:http://gupiao.baidu..com/stock/sz002439.html

编写spider处理链接爬取和页面解析,编写pipelines处理信息存储

步骤:

? 步骤1:创建工程和Spider模板;

>scrapy startproject BaiduStocks

>cd BaiduStocks

>scrapy genspider stocks baidu.com

进一步修改spiders/stock.py文件

? 步骤2:编写Spider

配置stocks.py文件

修改对返回页面的处理

修改对新增URL爬取请求的处理

? 步骤3:编写Item Pipeline

原文地址:https://www.cnblogs.com/ST-2017/p/8447518.html

时间: 2024-10-11 09:13:13

Scrapy 安装与使用的相关文章

Windows10 python 3.5 Scrapy 安装配置

学习和使用python也有2年有余,一直在cnblogs里面寻求各种问题的解决方案,还未真正的记录下自己学习.思索的点点滴滴:从今天开始将自己的学习或者实践分享出来,其目的有二:1.监督自己不断学习,不断总结:2.将自己知道的分享出来,为后来者贡献一点儿绵薄之力.言归正传,今天首记录下Scrapy的安装和配置. 正如标题所示:我目前的操作系统和python软件分别是:windows 10 和 python 3.5,所以介绍的是基于以上环境的scrapy安装. 1.安装Twisted a.首先下载

Scrapy安装方法

Scrapy安装在Python2.7环境下 1.配置环境变量: 2.安装基础软件 4个(64位系统) 安装twisted: C:\Users\Administrator>pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com twisted==13.1.0 twisted版本不能太高,装最新17版的会无故报错,很无语! 3.安装scrapy C:\Users\Administrat

windows下scrapy安装

C:\users\XXXX>easy_install scrapy 出现错误 fatal error C1083: Cannot open include file: 'openssl/aes.h' : No such file or directory.才想起scrapy主页Installation Guide中有Pre-requisites,是需要事先安装openssl.在主页给定的链接中选了Win32OpenSSL-0.9.8za 下载,老版本可能兼容好些,应该都无所谓.但安装openss

Scrapy安装、爬虫入门教程、爬虫实例(豆瓣电影爬虫)

Scrapy在window上的安装教程见下面的链接:Scrapy安装教程 上述安装教程已实践,可行.本来打算在ubuntu上安装Scrapy的,但是Ubuntu 磁盘空间太少了,还没扩展磁盘空间,暂时不想再上面装太多软件. Scrapy的入门教程见下面链接:Scrapy入门教程 上面的入门教程是很基础的,先跟着作者走一遍,要动起来哟,不要只是阅读上面的那篇入门教程,下面我简单总结一下Scrapy爬虫过程: 1.在Item中定义自己要抓取的数据: movie_name就像是字典中的“键”,爬到的数

ubuntu,scrapy安装

我的环境是ubuntu14.04 安装scrapy,我使用pip 安装 如果你还没安装pip,用下面命令安装 sudo apt-get install python-pip 然后使用pip来安装python相关的库扩展 pip install scrapy 不过出现错误 error: could not create '/usr/local/lib/python2.7/dist-packages/twisted': Permission denied 因为这是成功之后的截图,所以也许你的不完全是

python Scrapy安装

python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel libxml2-devel 2.将系统自带python2.6的easy_install备份,使用python2.7.10升级后的easy_install mv /usr/bin/easy_install /usr/bin/easy_install_2.6 ln -s /usr/local/pytho

Scrapy安装的那些事

收录待用,修改转载已取得腾讯云授权 Scrapy安装介绍 Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上.下面说明Python3环境下的安装过程. Scrapy依赖的库比较多,至少需要依赖库有Twisted 14.0,lxml 3.4,pyOpenSSL 0.14.而在不同平台环境又各不相同,所以在安装之前最好确保把一些基本库安装好,尤其是Windows. 腾讯云有Windows.Linux多个版本系统,在这里分别介绍. 各平台安装简介 Anaco

(转)Scrapy安装介绍 windows环境下---

一. Scrapy简介 Scrapy is a fast high-level screen scraping and web crawling framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing

scrapy 安装出错 [err2] no such file or directory: &#39;README.rst&#39;【已解决】

背景:pip安装一直不成功,很多模块用pip安装都不行,只好到github下载zip安装 c:\Document and settings\> python e:\scrapy-0.24\setup.py install 结果失败,提示 [err2] no such file or directory: 'README.rst', 百度到了一个解决方法:cd 到setup.py 所在的目录再安装 e:\scrapy-0.24> python setup.py install 前面都跑的很欢快,

python scrapy 安装

我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1.安装Python 安装过程我就不多说啦,我的电脑中已经安装了 Python 2.7.7 版本啦,安装完之后记得配置环境变量,比如我的安装在D盘,D:\python2.7.7,就把以下两个路径添加到Path变量中 1 D:\python