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

詳解向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ù)用戶(hù)提交的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è)用戶(hù)請(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調(diào)用API接口實(shí)現(xiàn)人臉識(shí)別

    Python調(diào)用API接口實(shí)現(xiàn)人臉識(shí)別

    本文主要介紹了Python調(diào)用API接口實(shí)現(xiàn)人臉識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題

    快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題

    這篇文章主要介紹了快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例

    python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例

    這篇文章主要介紹了python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • python開(kāi)發(fā)之函數(shù)定義實(shí)例分析

    python開(kāi)發(fā)之函數(shù)定義實(shí)例分析

    這篇文章主要介紹了python開(kāi)發(fā)之函數(shù)定義方法,以實(shí)例形式較為詳細(xì)的分析了Python中函數(shù)的定義與使用技巧,需要的朋友可以參考下
    2015-11-11
  • Python讀取視頻的兩種方法(imageio和cv2)

    Python讀取視頻的兩種方法(imageio和cv2)

    這篇文章主要為大家詳細(xì)介紹了Python讀取視頻的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python列表切片用法示例

    Python列表切片用法示例

    這篇文章主要介紹了Python列表切片用法,結(jié)合實(shí)例形式分析了Python列表切片的常見(jiàn)操作方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-04-04
  • 在python中用print()輸出多個(gè)格式化參數(shù)的方法

    在python中用print()輸出多個(gè)格式化參數(shù)的方法

    今天小編就為大家分享一篇在python中用print()輸出多個(gè)格式化參數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python 讀取xml數(shù)據(jù),cv2裁剪圖片實(shí)例

    Python 讀取xml數(shù)據(jù),cv2裁剪圖片實(shí)例

    這篇文章主要介紹了Python 讀取xml數(shù)據(jù),cv2裁剪圖片實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python基礎(chǔ)教程之增加和去除數(shù)字的千位分隔符

    Python基礎(chǔ)教程之增加和去除數(shù)字的千位分隔符

    千位分隔符其實(shí)就是數(shù)字中的逗號(hào),下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之增加和去除數(shù)字的千位分隔符,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Python從文件中讀取數(shù)據(jù)的方法講解

    Python從文件中讀取數(shù)據(jù)的方法講解

    今天小編就為大家分享一篇關(guān)于Python從文件中讀取數(shù)據(jù)的方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02

最新評(píng)論

滨州市| 北川| 涟水县| 新田县| 盘山县| 上饶市| 家居| 根河市| 长寿区| 黎城县| 阿城市| 共和县| 修水县| 西畴县| 石棉县| 马尔康县| 奈曼旗| 乌拉特后旗| 平邑县| 淳化县| 东光县| 苗栗市| 阳曲县| 阿瓦提县| 山阴县| 柞水县| 巴彦淖尔市| 酒泉市| 汾西县| 科技| 含山县| 濮阳县| 若尔盖县| 宣恩县| 龙江县| 墨竹工卡县| 锡林浩特市| 高邑县| 连州市| 仙桃市| 辽阳县|