Python使用Scrapy框架爬取数据存入CSV文件,爬虫学习笔记

By admin in 4858.com on 2019年4月8日

1. Scrapy框架

  Scrapy是python下促成爬虫成效的框架,能够将数据解析、数据处理、数据存款和储蓄合为一体功用的爬虫框架。

Python使用Scrapy框架爬取数据存入CSV文件(Python爬虫实战④),scrapycsv

那是本身要辛亏读书python
3爬虫时的小笔记,做备忘用,难免会有1对谬误和疏漏,望指正~~~
Python 3 爬虫学习笔记 (1)
Python 三 爬虫学习笔记 (贰)
Python 三 爬虫学习笔记 (三)
Python 三 爬虫学习笔记 (肆)
Python 三 爬虫学习笔记 (6)

前言

4858.com 1

image.png

本身建议新手都从Python叁起来上学,能够不去学学Python二了,毕竟以往肯定会被Python三代替,当然,也有一部分库它现在只包容Python2,那大家就再挂念了,作者的Python版本是Python叁.伍.二

推荐三个基础教程,廖雪峰先生的Python入门教程

2. Scrapy安装

1. Scrapy框架

  Scrapy是python下促成爬虫成效的框架,能够将数据解析、数据处理、数据存储合为壹体功能的爬虫框架。


安装Scrapy

先要显著本人的Python版本 配置好环境变量,在cmd中输入python命令

4858.com 2

image.png

再便是也需求配置好pip命令

4858.com 3

image.png

Scrapy框架是基于twisted的异步架构的,所以大家设置Twisted
下载对应版本的.whl文件先安装twisted库,自然你也急需选拔切合自身的版本下载
下载地址:
http://www.lfd.uci.edu/~gohlke/pythonlibs/\#twisted

4858.com 4

image.png

一. 安装重视包

yum install gcc libffi-devel python-devel openssl-devel -y
yum install libxslt-devel -y

2. Scrapy安装

六、Scrapy初体验

事先大致学习了下通过urllib和Beautiful Soup
进行简短多少爬取的流水生产线,不过那只适用于部分不难的、数据量相比小的爬虫项目,若是急需爬取的数据量比较大的话,在此之前的办法自然卓殊缓慢,所以就有了Scrapy,Scrapy是三个火速的web抓取框架,可抓取web站点并从页面中提取结构化的数码。Scrapy给大家提供了很多的爬虫基类,大家能够直接接轨使用,当然,既然Scrapy是1个框架,我们也得以依据自身的内需对它举办修改,上边我们就慢慢来看Scrapy的采取。

Scrapy is an application framework for crawling web sites and
extracting structured data which can be used for a wide range of
useful applications, like data mining, information processing or
historical archival.
Even though Scrapy was originally designed for web scraping, it can
also be used to extract data using APIs (such as Amazon Associates Web
Services ) or as a general purpose web crawler.

安装twisted

打开命令提示符窗口,输入指令:pip install (下载好的twisted模块的whl文件路径)

 2. 安装scrapy

pip install scrapy
pip install twisted==13.1.0

 注意事项:scrapy和twisted存在包容性难点,假诺设置twisted版本过高,运营scrapy
startproject project_name的时候会提示报错,安装twisted==一3.1.0即可。

壹. 设置正视包

yum install gcc libffi-devel python-devel openssl-devel -y
yum install libxslt-devel -y

(一)安装(Windows)

Python使用Scrapy框架爬取数据存入CSV文件,爬虫学习笔记。Scrapy是纯Python编写的,所以必要部分比较首要的的Python依赖包:

  • lxml, an efficient XML
    and HTML parser
  • parsel,
    an HTML/XML data extraction library written on top of lxml,
  • w3lib,
    a multi-purpose helper for dealing with URLs and web page encodings
  • twisted, an
    asynchronous networking framework
  • cryptography
    and
    pyOpenSSL,
    to deal with various network-level security needs

看着依赖包相比较多,其实安装起来并不复杂,以管理人的地方运行Windows命令提醒符,在以安装Python的前提下,运转:

pip install scrapy

pip会自动下载相关正视包,假使顺遂的话,会向来设置到位。

要小心的是,确认一下python的版本,pip会依照系统活动安装相关包,即假诺系统是6三个人的,pip就会设置陆十四个人的包,可是twisted的本子一定要和python的1律,若是操作系统是64人的,python是三九位的,pip间接设置的twisted安装就会出错。

万壹pip安装twisted时出错,在命令行输入python,查看当地python版本,然后到这里下载和python版本1样的whl文件,使用pip
install xxx.whl
设置,完成后再实践2回pip install scrapy即可。

在命令行输入scrapy, 若不报错,则设置到位。

安装scrapy

twisted库安装成功后,就能够安装scrapy了,在命令提醒符窗口间接输入指令:
pip install scrapy回车

设置关联模块pypiwin3二,在命令提醒符窗口直接输入指令:
pip install pypiwin32 回车

三. 依据Scrapy爬取数据并存入到CSV

三.一.
爬虫指标,获取简书中热门专题的数量消息,站点为

4858.com 5

 2. 安装scrapy

pip install scrapy
pip install twisted==13.1.0

 注意事项:scrapy和twisted存在包容性难题,若是设置twisted版本过高,运营scrapy
startproject project_name的时候会提醒报错,安装twisted==1三.一.0即可。

(二) 第一个Scrapy项目

依旧,先上官方文档
1.3,找了一晃网上翻译的文档都以0.2四只怕0.二四版,所以提出大家依然看官方最新的英文版相比好。

开拓命令提示符,进入想要创制项目标目录,运转

scrapy startproject scrapyTest

Paste_Image.png

品种创造完毕,让咱们来看一下体系布局,执行:

tree /f

Paste_Image.png

└─scrapyTest
    │  scrapy.cfg           # 配置文件(deploy configuration file)
    │
    └─scrapyTest
        │  items.py         # 项目中的item文件(project items definition file)
        │  middlewares.py   # 中间件
        │  pipelines.py     # 项目中的管道文件(project pipelines file)
        │  settings.py      # 项目中的设置文件(project settings file)
        │  __init__.py
        │
        ├─spiders           # 存放爬虫的文件夹(a directory where you'll later put your spiders)
        │  │  __init__.py
        │  │
        │  └─__pycache__
        └─__pycache__

进入spiders目录,新建test_spider.py如下:

# -*- coding:utf-8 -*-

import scrapy
from bs4 import BeautifulSoup


class tsSpride(scrapy.Spider):
    name = 'test' # 爬虫的唯一名字,在项目中爬虫名字一定不能重复

    # start_requests() 必须返回一个迭代的Request
    def start_requests(self):
        # 待爬取的URL列表
        urls = ['http://www.jianshu.com/',]
        # 模拟浏览器
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
        for url in urls:
            yield scrapy.Request(url=url, headers=headers, callback=self.parse)

    # 处理每个请求的下载响应
    def parse(self, response):
        soup = BeautifulSoup(response.body, 'html.parser')
        titles = soup.find_all('a', 'title')
        for title in titles:
            print(title.string)

在命令行输入

scrapy crawl test

结果如下:

Paste_Image.png

上述代码Scrapy为start_requests
中的每种U宝马X3L创设了scrapy.Request对象,并将 parse()
方法作为回调函数(callback)赋值给了Request(Scray中parse()为暗中认可回调方法)。

The parse()
method will be called to handle each of the requests for those URLs,
even though we haven’t explicitly told Scrapy to do so. This happens
because parse()
is Scrapy’s default callback method, which is called for requests
without an explicitly assigned callback.

地方代码中用了Beautiful
Soup来处理爬下来的数码,而Scrapy也有Selector来拍卖数量,后天先到那边,下次再用一个有血有肉的小项目来更详尽地介绍Scrapy。

Scrapy测试,生成3个Scrapy框架

创造项目

运作命令:

scrapy startproject p1(your_project_name)

自动创造目录的结果:

4858.com 6

4858.com,image.png

文件注脚:

  • scrapy.cfg
    项指标布置音信,首要为Scrapy命令行工具提供1个基础的布署音信。(真正爬虫相关的布局音讯在settings.py文件中)

  • items.py 设置数据存储模板,用于结构化数据,如:Django的Model

  • pipelines 数据处理作为,如:一般结构化的多寡持久化

  • settings.py 配置文件,如:递归的层数、并发数,延迟下载等

  • spiders 爬虫目录,如:创立文件,编写爬虫规则

注意:一般创立爬虫文件时,以网址域名命名

叁.二. 爬取内容

  要求爬取专题的内容包罗:专题内容、专题描述、收音和录音小说数、关心人口,Scrapy使用xpath来清洗所需的数码,编写爬虫进程中得以手动通过lxml中的xpath获取数据,确认无误后再将其写入到scrapy代码中,差距点在于,scrapy须要使用extract()函数才能将数据提取出来。

三. 基于Scrapy爬取数据并存入到CSV

三.一.
爬虫目的,获取简书中热门专题的多寡音信,站点为

4858.com 7

scrapy终端常用命令

三.三 成立爬虫项目

[root@HappyLau jianshu_hot_topic]# scrapy startproject jianshu_hot_topic

#项目目录结构如下:
[root@HappyLau python]# tree jianshu_hot_topic
jianshu_hot_topic
├── jianshu_hot_topic
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── items.py
│   ├── items.pyc
│   ├── middlewares.py
│   ├── pipelines.py
│   ├── pipelines.pyc
│   ├── settings.py
│   ├── settings.pyc
│   └── spiders
│       ├── collection.py
│       ├── collection.pyc
│       ├── __init__.py
│       ├── __init__.pyc
│       ├── jianshu_hot_topic_spider.py    #手动创建文件,用于爬虫数据提取
│       └── jianshu_hot_topic_spider.pyc
└── scrapy.cfg

2 directories, 16 files
[root@HappyLau python]# 

三.贰. 爬取内容

  须求爬取专题的始末囊括:专题内容、专题描述、收音和录音文章数、关怀人数,Scrapy使用xpath来清洗所需的多少,编写爬虫进程中得以手动通过lxml中的xpath获取数据,确认无误后再将其写入到scrapy代码中,差别点在于,scrapy必要使用extract()函数才能将数据提取出来。

可用scrapy命令

在终极中输入以下命令,查看scrapy有何命令语法

scrapy -h

4858.com 8

image.png

scrapy的下令有三种分类-全局命令与系列命令

比如大家在命令行直接输入scrapy startproject myproject本条命令,实际上是在全局环境中使用的。

而当我们运维爬虫时候输入scrapy crawl myspider时,实际上是在项目条件内运转的。

#全局变量
startproject
runspider
shell
fetch



#项目命令
crawl
parse
genspider

 三.4 代码内容

1. items.py代码内容,定义需要爬取数据字段
# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html

import scrapy
from scrapy import Item
from scrapy import Field

class JianshuHotTopicItem(scrapy.Item):
 '''
 @scrapy.item,继承父类scrapy.Item的属性和方法,该类用于定义需要爬取数据的子段
 '''
 collection_name = Field()
 collection_description = Field()
 collection_article_count = Field()
 collection_attention_count = Field()

2. piders/jianshu_hot_topic_spider.py代码内容,实现数据获取的代码逻辑,通过xpath实现
[root@HappyLau jianshu_hot_topic]# cat spiders/jianshu_hot_topic_spider.py
#_*_ coding:utf8 _*_

import random
from time import sleep
from scrapy.spiders import CrawlSpider
from scrapy.selector import Selector
from scrapy.http import Request
from jianshu_hot_topic.items import JianshuHotTopicItem 

class jianshu_hot_topic(CrawlSpider):
 '''
 简书专题数据爬取,获取url地址中特定的子段信息
 '''
 name = "jianshu_hot_topic"
 start_urls = ["https://www.jianshu.com/recommendations/collections?page=2&order_by=hot"]

 def parse(self,response):
  '''
  @params:response,提取response中特定字段信息
  '''
  item = JianshuHotTopicItem()
  selector = Selector(response)
  collections = selector.xpath('//div[@class="col-xs-8"]') 
  for collection in collections:
   collection_name = collection.xpath('div/a/h4/text()').extract()[0].strip()
                 collection_description = collection.xpath('div/a/p/text()').extract()[0].strip()
                 collection_article_count = collection.xpath('div/div/a/text()').extract()[0].strip().replace('篇文章','')
                 collection_attention_count = collection.xpath('div/div/text()').extract()[0].strip().replace("人关注",'').replace("· ",'') 
   item['collection_name'] = collection_name
   item['collection_description'] = collection_description
   item['collection_article_count'] = collection_article_count 
   item['collection_attention_count'] = collection_attention_count

   yield item


  urls = ['https://www.jianshu.com/recommendations/collections?page={}&order_by=hot'.format(str(i)) for i in range(3,11)]
  for url in urls:
   sleep(random.randint(2,7))
   yield Request(url,callback=self.parse)

3. pipelines文件内容,定义数据存储的方式,此处定义数据存储的逻辑,可以将数据存储载MySQL数据库,MongoDB数据库,文件,CSV,Excel等存储介质中,如下以存储载CSV为例:
[root@HappyLau jianshu_hot_topic]# cat pipelines.py
# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html


import csv 

class JianshuHotTopicPipeline(object):
    def process_item(self, item, spider):
     f = file('/root/zhuanti.csv','a+')
 writer = csv.writer(f)
 writer.writerow((item['collection_name'],item['collection_description'],item['collection_article_count'],item['collection_attention_count']))
        return item

4. 修改settings文件,
ITEM_PIPELINES = { 
    'jianshu_hot_topic.pipelines.JianshuHotTopicPipeline': 300,
}

三.三 创造爬虫项目

[[email protected] jianshu_hot_topic]# scrapy startproject jianshu_hot_topic

#项目目录结构如下:
[[email protected] python]# tree jianshu_hot_topic
jianshu_hot_topic
├── jianshu_hot_topic
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── items.py
│   ├── items.pyc
│   ├── middlewares.py
│   ├── pipelines.py
│   ├── pipelines.pyc
│   ├── settings.py
│   ├── settings.pyc
│   └── spiders
│       ├── collection.py
│       ├── collection.pyc
│       ├── __init__.py
│       ├── __init__.pyc
│       ├── jianshu_hot_topic_spider.py    #手动创建文件,用于爬虫数据提取
│       └── jianshu_hot_topic_spider.pyc
└── scrapy.cfg

2 directories, 16 files
[[email protected] python]# 

开创项目

全局命令。使用scrapy第一步是在指令行中,创设爬虫项目。

语法: scrapy startproject <projectname>

在 当前目录下创办1个名叫 projectname 的Scrapy项目。

scrapy startproject myproject

目录结构如下

scrapy.cfg
projectname/
    __init__.py
    items.py
    pipelines.py
    settings.py
    spiders/
        __init__.py
        myspider.py

创制好项目后,将当前工作目录切换成品种目录中。使用

cd myproject

尔后就足以选拔scrapy的种类命令操作scrapy项目了。

 3.5 运行scrapy爬虫

  重返到项目scrapy项目开创所在目录,运维scrapy crawl
spider_name即可,如下:

[root@HappyLau jianshu_hot_topic]# pwd
/root/python/jianshu_hot_topic
[root@HappyLau jianshu_hot_topic]# scrapy crawl jianshu_hot_topic
2018-02-24 19:12:23 [scrapy.utils.log] INFO: Scrapy 1.5.0 started (bot: jianshu_hot_topic)
2018-02-24 19:12:23 [scrapy.utils.log] INFO: Versions: lxml 3.2.1.0, libxml2 2.9.1, cssselect 1.0.3, parsel 1.4.0, w3lib 1.19.0, Twisted 13.1.0, Python 2.7.5 (default, Aug  4 2017, 00:39:18) - [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)], pyOpenSSL 0.13.1 (OpenSSL 1.0.1e-fips 11 Feb 2013), cryptography 1.7.2, Platform Linux-3.10.0-693.el7.x86_64-x86_64-with-centos-7.4.1708-Core
2018-02-24 19:12:23 [scrapy.crawler] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'jianshu_hot_topic.spiders', 'SPIDER_MODULES': ['jianshu_hot_topic.spiders'], 'ROBOTSTXT_OBEY': True, 'USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0', 'BOT_NAME': 'jianshu_hot_topic'}

 查看/root/zhuanti.csv中的数据,即可兑现。

 

 三.四 代码内容

1. items.py代码内容,定义需要爬取数据字段
# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html

import scrapy
from scrapy import Item
from scrapy import Field

class JianshuHotTopicItem(scrapy.Item):
 '''
 @scrapy.item,继承父类scrapy.Item的属性和方法,该类用于定义需要爬取数据的子段
 '''
 collection_name = Field()
 collection_description = Field()
 collection_article_count = Field()
 collection_attention_count = Field()

2. piders/jianshu_hot_topic_spider.py代码内容,实现数据获取的代码逻辑,通过xpath实现
[[email protected] jianshu_hot_topic]# cat spiders/jianshu_hot_topic_spider.py
#_*_ coding:utf8 _*_

import random
from time import sleep
from scrapy.spiders import CrawlSpider
from scrapy.selector import Selector
from scrapy.http import Request
from jianshu_hot_topic.items import JianshuHotTopicItem 

class jianshu_hot_topic(CrawlSpider):
 '''
 简书专题数据爬取,获取url地址中特定的子段信息
 '''
 name = "jianshu_hot_topic"
 start_urls = ["https://www.jianshu.com/recommendations/collections?page=2&order_by=hot"]

 def parse(self,response):
  '''
  @params:response,提取response中特定字段信息
  '''
  item = JianshuHotTopicItem()
  selector = Selector(response)
  collections = selector.xpath('//div[@class="col-xs-8"]') 
  for collection in collections:
   collection_name = collection.xpath('div/a/h4/text()').extract()[0].strip()
                 collection_description = collection.xpath('div/a/p/text()').extract()[0].strip()
                 collection_article_count = collection.xpath('div/div/a/text()').extract()[0].strip().replace('篇文章','')
                 collection_attention_count = collection.xpath('div/div/text()').extract()[0].strip().replace("人关注",'').replace("· ",'') 
   item['collection_name'] = collection_name
   item['collection_description'] = collection_description
   item['collection_article_count'] = collection_article_count 
   item['collection_attention_count'] = collection_attention_count

   yield item


  urls = ['https://www.jianshu.com/recommendations/collections?page={}&order_by=hot'.format(str(i)) for i in range(3,11)]
  for url in urls:
   sleep(random.randint(2,7))
   yield Request(url,callback=self.parse)

3. pipelines文件内容,定义数据存储的方式,此处定义数据存储的逻辑,可以将数据存储载MySQL数据库,MongoDB数据库,文件,CSV,Excel等存储介质中,如下以存储载CSV为例:
[[email protected] jianshu_hot_topic]# cat pipelines.py
# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html


import csv 

class JianshuHotTopicPipeline(object):
    def process_item(self, item, spider):
     f = file('/root/zhuanti.csv','a+')
 writer = csv.writer(f)
 writer.writerow((item['collection_name'],item['collection_description'],item['collection_article_count'],item['collection_attention_count']))
        return item

4. 修改settings文件,
ITEM_PIPELINES = { 
    'jianshu_hot_topic.pipelines.JianshuHotTopicPipeline': 300,
}

生成spider

品类命令。成立spider。一般成立的spider名字是跟域名相同的,比如www.baidu.com,我们穿件的爬虫命令

scrapy genspider baidu baidu.com

1般规律如下

scrapy genspider spidername domain.com

四. 赶上的难题总括

  1. twisted版本不见容,安装过新的本子导致,安装Twisted (一三.一.0)即可

二.
国语数据不能够写入,提醒’ascii’错误,通过设置python的encoding为utf即可,如下:

>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8')
>>> sys.getdefaultencoding()
'utf8'

 三.
爬虫不能取得站点数据,由于headers导致,载settings.py文件中添加USE智跑_AGENT变量,如:

USER_AGENT="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"

 Scrapy使用进程中只怕会遇到结果实施破产恐怕结果进行不符合预期,其实际的logs非常详尽,通过观看日志内容,并构成代码+网上查找资料即可解决。

 3.5 运行scrapy爬虫

  重临到花色scrapy项目创立所在目录,运转scrapy crawl
spider_name即可,如下:

[[email protected] jianshu_hot_topic]# pwd
/root/python/jianshu_hot_topic
[[email protected] jianshu_hot_topic]# scrapy crawl jianshu_hot_topic
2018-02-24 19:12:23 [scrapy.utils.log] INFO: Scrapy 1.5.0 started (bot: jianshu_hot_topic)
2018-02-24 19:12:23 [scrapy.utils.log] INFO: Versions: lxml 3.2.1.0, libxml2 2.9.1, cssselect 1.0.3, parsel 1.4.0, w3lib 1.19.0, Twisted 13.1.0, Python 2.7.5 (default, Aug  4 2017, 00:39:18) - [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)], pyOpenSSL 0.13.1 (OpenSSL 1.0.1e-fips 11 Feb 2013), cryptography 1.7.2, Platform Linux-3.10.0-693.el7.x86_64-x86_64-with-centos-7.4.1708-Core
2018-02-24 19:12:23 [scrapy.crawler] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'jianshu_hot_topic.spiders', 'SPIDER_MODULES': ['jianshu_hot_topic.spiders'], 'ROBOTSTXT_OBEY': True, 'USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0', 'BOT_NAME': 'jianshu_hot_topic'}

 查看/root/zhuanti.csv中的数据,即可完结。

 

爬取

品种命令。 语法:scrapy crawl <spider>

四. 相遇的题材总括

  1. twisted版本不见容,安装过新的本子导致,安装Twisted (一3.一.0)即可

二.
国语数据不能够写入,提醒’ascii’错误,通过设置python的encoding为utf即可,如下:

>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8')
>>> sys.getdefaultencoding()
'utf8'

 三.
爬虫不也许赢得站点数据,由于headers导致,载settings.py文件中添加USE大切诺基_AGENT变量,如:

USER_AGENT="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"

 Scrapy使用过程中也许会遇上结果实施破产或许结果进行不合乎预期,其现实的logs相当详尽,通过阅览日志内容,并结成代码+网上搜索资料即可缓解。

  1. Scrapy框架
    Scrapy是python下落成爬虫成效的框架,能够将数据解析、数据处…

fetch

大局命令。语法:scrapy fetch <url>

使用本语句下载钦点的url,并将收获到的始末再次来到为scrapy中的response对象。

scrapy fetch https://i.meituan.com

shell

大局命令。语法:scrapy shell [url]

Scrapy
shell是二个互动终端,供你在未运行spider的处境下品尝及调节和测试您的爬取代码,用来测试提取数额的代码。该终端是用来测试XPath或CSS表达式,查看他们的劳作措施及从爬取的网页中领到的数码。
免去了每一次修改后运维spider的麻烦。

scrapy shell运转后,就会有以下目的,能够开展有益的调节。

scrapy shell https://www.baidu.com/

parse

花色命令。语法: scrapy parse <url> [options]

获取给定的UMuranoL并接纳相应的spider分析处理。假如你提供 –callback
选项,则应用spider的该办法处理,不然使用 parse。

--spider=SPIDER: 跳过自动检测spider并强制使用特定的spider
--a NAME=VALUE: 设置spider的参数(可能被重复)
--callback or -c: spider中用于解析返回(response)的回调函数
--pipelines: 在pipeline中处理item

runspider

大局命令语法:scrapy runspider

在未创制项目标动静下,运营2个编写制定在python脚本中的spider。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有