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

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

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

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

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

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的構(gòu)造函數(shù)里加上帶入的參數(shù)即可。

第二種方法,在用scrapyd控制spider的時(shí)候,可以向schedule.json發(fā)送-d選項(xiàng)加入?yún)?shù),同樣的,也需要在spider的構(gòu)造函數(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ù),然后就可以相應(yīng)的在返回的respose對象中獲得傳入的參數(shù)。這在某些情況下相當(dāng)有用,比如說需要確定這個(gè)url是哪個(gè)用戶請求爬取的,可以先用上面兩種方法之一將信息傳遞給spider,spider就可以把這個(gè)信息加入到request中,然后在相應(yīng)的reponse中就可以將這個(gè)信息與從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

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

相關(guān)文章

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

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

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

    Python爬蟲抓取技術(shù)的一些經(jīng)驗(yàn)

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

    python3讀取csv文件任意行列代碼實(shí)例

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

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

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

    Python3標(biāo)準(zhǔn)庫之functools管理函數(shù)的工具詳解

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

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

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

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

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

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

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

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

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

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

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

最新評論

怀柔区| 墨竹工卡县| 登封市| 西城区| 大连市| 丹东市| 伽师县| 威信县| 襄垣县| 勐海县| 宝鸡市| 云浮市| 嘉兴市| 托克托县| 体育| 湘潭市| 定远县| 镇康县| 津南区| 卢氏县| 砚山县| 景宁| 托克托县| 齐河县| 台南县| 江陵县| 清远市| 沙洋县| 九龙坡区| 水富县| 电白县| 叙永县| 深圳市| 西丰县| 双城市| 芦溪县| 上饶市| 阳西县| 呈贡县| 呼伦贝尔市| 象山县|