最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何向scrapy中的spider傳遞參數(shù)的幾種方法

 更新時間:2020年11月18日 11:20:41   作者:bluespacezero  
這篇文章主要介紹了如何向scrapy中的spider傳遞參數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

有時需要根據(jù)項目的實際需求向spider傳遞參數(shù)以控制spider的行為,比如說,根據(jù)用戶提交的url來控制spider爬取的網站。在這種情況下,可以使用兩種方法向spider傳遞參數(shù)。

第一種方法,在命令行用crawl控制spider爬取的時候,加上-a選項,例如:

scrapy crawl myspider -a category=electronics

然后在spider里這樣寫:

import scrapy

class MySpider(scrapy.Spider):
  name = 'myspider'

  def __init__(self, category=None, *args, **kwargs):
    super(MySpider, self).__init__(*args, **kwargs)
    self.start_urls = ['http://www.example.com/categories/%s' % category]
    # ...

也就是在spider的構造函數(shù)里加上帶入的參數(shù)即可。

第二種方法,在用scrapyd控制spider的時候,可以向schedule.json發(fā)送-d選項加入?yún)?shù),同樣的,也需要在spider的構造函數(shù)里如上寫法。例如:

$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1

另外,如果需要在scrapy發(fā)出的request上加入?yún)?shù),可以使用request的meta參數(shù),然后就可以相應的在返回的respose對象中獲得傳入的參數(shù)。這在某些情況下相當有用,比如說需要確定這個url是哪個用戶請求爬取的,可以先用上面兩種方法之一將信息傳遞給spider,spider就可以把這個信息加入到request中,然后在相應的reponse中就可以將這個信息與從url的頁面中獲得的信息一起存入數(shù)據(jù)庫。例如:

def parse_page1(self, response):
  item = MyItem()
  item['main_url'] = response.url
  request = scrapy.Request("http://www.example.com/some_page.html",
               callback=self.parse_page2)
  request.meta['item'] = item
  return request

def parse_page2(self, response):
  item = response.meta['item']
  item['other_url'] = response.url
  return item

到此這篇關于如何向scrapy中的spider傳遞參數(shù)的幾種方法的文章就介紹到這了,更多相關scrapy spider傳遞參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何在scrapy中捕獲并處理各種異常

    如何在scrapy中捕獲并處理各種異常

    這篇文章主要介紹了如何在scrapy中捕獲并處理各種異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Python爬蟲抓取技術的一些經驗

    Python爬蟲抓取技術的一些經驗

    這篇文章主要介紹了Python爬蟲抓取技術的一些經驗,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python3讀取csv文件任意行列代碼實例

    python3讀取csv文件任意行列代碼實例

    這篇文章主要介紹了python3讀取csv文件任意行列代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python打印輸出數(shù)組中全部元素

    Python打印輸出數(shù)組中全部元素

    使用Python打印數(shù)組時會遇到一個問題,當打印的數(shù)組元素比較多時,會出現(xiàn)只打印出數(shù)組開始與結尾部分中間部分用省略省略了,下面的方法可以完美解決這個問題
    2018-03-03
  • Python3標準庫之functools管理函數(shù)的工具詳解

    Python3標準庫之functools管理函數(shù)的工具詳解

    functools模塊提供的主要工具就是partial類,可以用來“包裝”一個有默認參數(shù)的callable對象。這篇文章主要介紹了Python3標準庫functools管理函數(shù)的工具的實例詳解,需要的朋友可以參考下
    2020-02-02
  • 使用pycharm和pylint檢查python代碼規(guī)范操作

    使用pycharm和pylint檢查python代碼規(guī)范操作

    這篇文章主要介紹了使用pycharm和pylint檢查python代碼規(guī)范操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python 3.x讀寫csv文件中數(shù)字的方法示例

    Python 3.x讀寫csv文件中數(shù)字的方法示例

    在我們日常開發(fā)中經常需要對csv文件進行讀寫,下面這篇文章主要給大家介紹了關于Python 3.x讀寫csv文件中數(shù)字的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-08-08
  • 使用Python給頭像戴上圣誕帽的圖像操作過程解析

    使用Python給頭像戴上圣誕帽的圖像操作過程解析

    這篇文章主要介紹了使用Python給頭像戴上圣誕帽的過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • 對python函數(shù)簽名的方法詳解

    對python函數(shù)簽名的方法詳解

    今天小編就為大家分享一篇對python函數(shù)簽名的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Pandas對數(shù)值進行分箱操作的4種方法總結

    Pandas對數(shù)值進行分箱操作的4種方法總結

    分箱是一種常見的數(shù)據(jù)預處理技術有時也被稱為分桶或離散化,他可用于將連續(xù)數(shù)據(jù)的間隔分組到“箱”或“桶”中。本文將使用python?Pandas庫對數(shù)值進行分箱的4種方法,感興趣的可以了解一下
    2022-05-05

最新評論

广平县| 仁寿县| 伊金霍洛旗| 嘉禾县| 廊坊市| 鄄城县| 墨竹工卡县| 罗定市| 忻州市| 柯坪县| 溧阳市| 六安市| 磐石市| 泰安市| 大邑县| 武宣县| 安塞县| 桐梓县| 靖江市| 油尖旺区| 浦东新区| 河北省| 仙桃市| 平乡县| 南京市| 东乡族自治县| 察雅县| 石城县| 商丘市| 盘锦市| 永靖县| 皋兰县| 南岸区| 黄骅市| 龙川县| 德兴市| 榆中县| 交口县| 武清区| 仪征市| 井研县|