Python爬虫学习(三)使用Scrapy库

(一)Scrapy库概述

  1,安装:pip  install  scrapy失败;

      运行D:\Python\Python36\python.exe -m pip install --upgrade pip命令升级pip命令失败;

      修改Python36文件的权限:https://www.cnblogs.com/liaojiafa/p/5100550.html

      安装:D:\Python\Python36\python.exe -m pip install wheel

      安装:D:\Python\Python36\python.exe -m pip install scrapy

  2,框架概述:

    

    

    入口:SPIDERS;出口:ITEM  PIPELINES;用户编写SPIDERS(URL),ITEM  PIPELINES(对数据处理)

    ENGINE:控制所有模块之间的数据流,根据条件触发事件,不允许用户修改,代码已实现

    DOWNLOADER:根据请求下载网页,功能单一,不允许用户修改,代码已实现

    SCHEDULER:对所有爬取请求进行调度管理,不允许用户修改,代码已实现

    DOWNLOADER  MIDDLEWARE:用户可以修改配置;中间件

      

    SPIDERS:解析DOWNLOADER返回的响应(Response);产生爬取项(scraped  item);产生额外的爬取请求(Request);需要用户编写的最核心代码

    ITEM  PIPELINES:以流水线方式处理Spider产生的爬取项;由一组操作顺序组成,每个操作是一个item  pipelines类型;操作可包括:清理,检验,查重爬虫项中HTML数据

将数据存入数据库;由用户编写功能

    SPIDER  MIDDLEWARE:中间件

      

  3,requests库和Scrapy库区别:

    

    

    

(二)Scrapy库的使用

  1,Scrapy命令行:常用命令:创建过程,创建爬虫,运行爬虫为最常用命令

    

  2,爬取某个HTML:

    (1)建立过程: scrapy startproject python123demo

      

    (2)建立爬虫demo:scrapy genspider demo python123.io;建立demo.py文件

#demo.py
# -*- coding: utf-8 -*-
import scrapy

class DemoSpider(scrapy.Spider):
    name = ‘demo‘
    allowed_domains = [‘python123.io‘]          #说明只能爬取这个文件下的URL
    start_urls = [‘http://python123.io/‘]

    def parse(self, response):              #处理响应,解析内容形成字典,发现新的URL爬取请求
        pass

    (3),修改爬虫文件deom.py文件

# -*- coding: utf-8 -*-
import scrapy

class DemoSpider(scrapy.Spider):
    name = ‘demo‘
#    allowed_domains = [‘python123.io‘]          #说明只能爬取这个文件下的URL
    start_urls = [‘http://python123.io/ws/demo.html‘]

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

   (4),运行爬虫:scrapy crawl demo

  2,yield:

    

    例子:

      

    

  3,相关类:

    (1)request类:

      

    (2)response类:

      

    (3)Item类:类字典类型,可以按照字典类型操作;表示从HTML中提取的内容

  4,CSS Selector:

    

    

 (三)实例:

  实例一:

  1,功能:

    

  2,实现难点:

   3,准备工作:网站选取原则:

    

    爬取链接:http://quote.eastmoney.com/stock_list.html#sh 东方财富股票综合排名

         http://gu.qq.com/xxxxxx/gp  腾讯个股股票信息

           先爬取股票综合排名:获取股票代码,放入搜狐股票的链接中转到个股信息

         爬取股票综合排名网页发现:股票简略信息都在<tbody class="tbody_right" id="datalist"></tbody>中;一个行内是一支股票的信息;一行的第一列是代码,第二列         是股票名称  

  4,步骤:

    

  

      

  

原文地址:https://www.cnblogs.com/lq13035130506/p/12254076.html

时间: 2024-11-10 10:16:22

Python爬虫学习(三)使用Scrapy库的相关文章

Python爬虫进阶三之Scrapy框架安装配置

初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1.安装Python 安装过程我就不多说啦,我的电

Python爬虫入门三之Urllib库的基本使用

转自:http://cuiqingcai.com/947.html 那么接下来,小伙伴们就一起和我真正迈向我们的爬虫之路吧. 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服.所以最重要的部分是存在于HTML中的,下面我们就写个例子来扒一个网页下来. impor

5.Python爬虫入门三之Urllib2库的基本使用

1.分分钟爬一个网页下来 怎么爬网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加JS.CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是他的衣服.所以最重要部分是存在于HTML中的,下面我们就写个例子来扒一个网页下来. import urllib2 response=urllib2.urlopen('https://www.baidu.com/') print

《Python爬虫学习系列教程》学习笔记

转自:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. 一.Python入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫

Python爬虫学习系列教程

Python爬虫学习系列教程 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库

Python爬虫学习路线,强烈建议收藏这十一条

(一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量.数据结构.语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程 2.看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习. 如果时间充裕的

Python爬虫学习:三、爬虫的基本操作流程

本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将数据或信息存入数据库中: 3.数据展示,即在Web端进行显示,并有自己的分析说明. 这次我先介绍第一个功能中所需要实现的基本操作: 爬虫的基本操作:      表示必须步骤           表示可选步骤 导入爬虫所需要的库(如:urllib.urllib2.BeautifulSoup.Scrap

Python爬虫利器三之Xpath语法与lxml库的用法

前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 BeautifulSoup 使用不太习惯的话,可以尝试下 Xpath. 参考文档: lxml python 官方文档 XPath语法参考 w3school 安装 pip install lxml 利用 pip 安装即可 XPath语法 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在

Python爬虫学习一之Requests包使用方法

Requests函数库是学习Python爬虫必备之一, 能够帮助我们方便地爬取. 本文主要参考了其官方文档. Requests安装: requests目前的版本是v2.11.1, 在WINDOWS上可以通过命令行窗口(运行cmd命令), 利用pip进行自动地安装(很方便): > pip install requestsCollecting requests Downloading requests-2.11.1-py2.py3-none-any.whl <514kB>Installing

Python爬虫学习:四、headers和data的获取

之前在学习爬虫时,偶尔会遇到一些问题是有些网站需要登录后才能爬取内容,有的网站会识别是否是由浏览器发出的请求. 一.headers的获取 就以博客园的首页为例:http://www.cnblogs.com/ 打开网页,按下F12键,如下图所示: 点击下方标签中的Network,如下: 之后再点击下图所示位置: 找到红色下划线位置所示的标签并点击,在右边的显示内容中可以查看到所需要的headers信息. 一般只需要添加User-Agent这一信息就足够了,headers同样也是字典类型: user