欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解向scrapy中的spider傳遞參數(shù)的幾種方法(2種)

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

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

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

scrapy crawl myspider -a category=electronics

然后在spider里這樣寫(xiě):

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ù)里如上寫(xiě)法。例如:

$ 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對(duì)象中獲得傳入的參數(shù)。這在某些情況下相當(dāng)有用,比如說(shuō)需要確定這個(gè)url是哪個(gè)用戶請(qǐng)求爬取的,可以先用上面兩種方法之一將信息傳遞給spider,spider就可以把這個(gè)信息加入到request中,然后在相應(yīng)的reponse中就可以將這個(gè)信息與從url的頁(yè)面中獲得的信息一起存入數(shù)據(jù)庫(kù)。例如:

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ù)的幾種方法(2種)的文章就介紹到這了,更多相關(guān)scrapy spider傳遞參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用xlrd模塊實(shí)現(xiàn)操作Excel讀寫(xiě)的方法匯總

    Python使用xlrd模塊實(shí)現(xiàn)操作Excel讀寫(xiě)的方法匯總

    本文介紹Python中使用xlrd、xlwt、xlutils模塊操作Excel文件的方法,xlrd用于讀取Excel文件,但2.0.0版本后不支持.xlsx格式,xlwt用于創(chuàng)建和寫(xiě)入Excel文件,而xlutils主要用于復(fù)制和處理Excel文件,詳細(xì)介紹了如何打開(kāi)文件、獲取工作表信息、操作行列數(shù)據(jù)和處理日期格式數(shù)據(jù)
    2024-10-10
  • Python中對(duì)數(shù)據(jù)庫(kù)的操作詳解

    Python中對(duì)數(shù)據(jù)庫(kù)的操作詳解

    今天簡(jiǎn)單說(shuō)說(shuō)MySQL,我們存儲(chǔ)數(shù)據(jù),直接用本地文件即可,但是,本地文件不利于存放海量數(shù)據(jù),也不利于用程序?qū)ξ募臄?shù)據(jù)進(jìn)行查詢與管理,我們可以使用數(shù)據(jù)庫(kù)
    2023-02-02
  • Python設(shè)計(jì)模式之抽象工廠模式

    Python設(shè)計(jì)模式之抽象工廠模式

    這篇文章主要為大家詳細(xì)介紹了Python設(shè)計(jì)模式之抽象工廠模式,感興趣的小伙伴們可以參考一下
    2016-08-08
  • python 實(shí)現(xiàn)簡(jiǎn)易的記事本

    python 實(shí)現(xiàn)簡(jiǎn)易的記事本

    這篇文章主要介紹了python 實(shí)現(xiàn)簡(jiǎn)易的記事本的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • python中resample函數(shù)實(shí)現(xiàn)重采樣和降采樣代碼

    python中resample函數(shù)實(shí)現(xiàn)重采樣和降采樣代碼

    今天小編就為大家分享一篇python中resample函數(shù)實(shí)現(xiàn)重采樣和降采樣代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Django與FastAPI的選擇區(qū)別深入剖析

    Django與FastAPI的選擇區(qū)別深入剖析

    這篇文章主要為大家介紹了Django與FastAPI的選擇區(qū)別深入剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python3 tcp的粘包現(xiàn)象和解決辦法解析

    python3 tcp的粘包現(xiàn)象和解決辦法解析

    這篇文章主要介紹了python3 tcp的粘包現(xiàn)象和解決辦法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 如何使用?Python?Pandas?更新行和列

    如何使用?Python?Pandas?更新行和列

    這篇文章主要介紹了使用?Python?Pandas?更新行和列的方法,在整篇文章中,我們將使用我們現(xiàn)在要?jiǎng)?chuàng)建的數(shù)據(jù)框,這將使大家了解更新數(shù)據(jù)操作,在此之后,大家可以將這些方法應(yīng)用于自己的數(shù)據(jù),需要的朋友可以參考下
    2023-03-03
  • Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享

    Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享

    這篇文章主要介紹了Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享,本文講解了原理、實(shí)現(xiàn)代碼、使用方法、最新代碼等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 詳解python中靜態(tài)方法staticmethod用法

    詳解python中靜態(tài)方法staticmethod用法

    本文主要介紹了python中靜態(tài)方法staticmethod用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評(píng)論