精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

網(wǎng)絡(luò)爬蟲框架Scrapy詳解之Request

開發(fā) 后端
Request類是一個(gè)http請(qǐng)求的類,對(duì)于爬蟲而言是一個(gè)很重要的類。通常在Spider中創(chuàng)建這樣的一個(gè)請(qǐng)求,在Downloader中執(zhí)行這樣的一個(gè)請(qǐng)求。同時(shí)也有一個(gè)子類FormRequest繼承于它,用于post請(qǐng)求。

[[239300]]

介紹

Request類是一個(gè)http請(qǐng)求的類,對(duì)于爬蟲而言是一個(gè)很重要的類。通常在Spider中創(chuàng)建這樣的一個(gè)請(qǐng)求,在Downloader中執(zhí)行這樣的一個(gè)請(qǐng)求。同時(shí)也有一個(gè)子類FormRequest繼承于它,用于post請(qǐng)求。

在Spider中通常用法:   

  1. yield scrapy.Request(url = 'zarten.com'

類屬性和方法有: 

  • url  
  • method  
  • headers  
  • body  
  • meta  
  • copy()  
  • replace([url, method, headers, body, cookies, meta, encoding, dont_filter, callback, errback]) 

Request   

  1. class scrapy.http.Request(url[, callback, method='GET', headers, body, cookies, meta, encoding='utf-8'priority=0dont_filter=False, errback, flags]) 

參數(shù)說明:

  •  url 請(qǐng)求的url
  •  callback 回調(diào)函數(shù),用于接收請(qǐng)求后的返回信息,若沒指定,則默認(rèn)為parse()函數(shù)
  •  method http請(qǐng)求的方式,默認(rèn)為GET請(qǐng)求,一般不需要指定。若需要POST請(qǐng)求,用FormRequest即可
  •  headers 請(qǐng)求頭信息,一般在settings中設(shè)置即可,也可在middlewares中設(shè)置
  •  body str類型,為請(qǐng)求體,一般不需要設(shè)置(get和post其實(shí)都可以通過body來傳遞參數(shù),不過一般不用)
  •  cookies dict或list類型,請(qǐng)求的cookie dict方式(name和value的鍵值對(duì)):   
  1. cookies = {'name1' : 'value1' , 'name2' : 'value2'} 

list方式:   

  1. cookies = [  
  2.    {'name': 'Zarten', 'value': 'my name is Zarten', 'domain': 'example.com', 'path': '/currency'}  
  3.    ] 
  •  encoding 請(qǐng)求的編碼方式,默認(rèn)為'utf-8'
  •  priority int類型,指定請(qǐng)求的優(yōu)先級(jí),數(shù)字越大優(yōu)先級(jí)越高,可以為負(fù)數(shù),默認(rèn)為0
  •  dont_filter 默認(rèn)為False,若設(shè)置為True,這次請(qǐng)求將不會(huì)過濾(不會(huì)加入到去重隊(duì)列中),可以多次執(zhí)行相同的請(qǐng)求
  •  errback 拋出錯(cuò)誤的回調(diào)函數(shù),錯(cuò)誤包括404,超時(shí),DNS錯(cuò)誤等,***個(gè)參數(shù)為Twisted Failure實(shí)例   
  1. from scrapy.spidermiddlewares.httperror import HttpError  
  2.    from twisted.internet.error import DNSLookupError  
  3.    from twisted.internet.error import TimeoutError, TCPTimedOutError  
  4.    class ToScrapeCSSSpider(scrapy.Spider):  
  5.        name = "toscrape-css"  
  6.        # start_urls = [  
  7.        #     'http://quotes.toscrape.com/',  
  8.        # ]  
  9.        start_urls = [  
  10.            "http://www.httpbin.org/",  # HTTP 200 expected  
  11.            "http://www.httpbin.org/status/404",  # Not found error  
  12.            "http://www.httpbin.org/status/500",  # server issue  
  13.            "http://www.httpbin.org:12345/",  # non-responding host, timeout expected  
  14.            "http://www.httphttpbinbin.org/",  # DNS error expected  
  15.        ]  
  16.        def start_requests(self):  
  17.            for u in self.start_urls:  
  18.                yield scrapy.Request(u, callback=self.parse_httpbin,  
  19.                                     errback=self.errback_httpbin,  
  20.                                     dont_filter=True 
  21.        def parse_httpbin(self, response):  
  22.            self.logger.info('Got successful response from {}'.format(response.url))  
  23.            # do something useful here...  
  24.        def errback_httpbin(self, failure):  
  25.            # log all failures  
  26.            self.logger.info(repr(failure))  
  27.            # in case you want to do something special for some errors,  
  28.            # you may need the failure's type:  
  29.            if failure.check(HttpError):  
  30.                # these exceptions come from HttpError spider middleware  
  31.                # you can get the non-200 response  
  32.                response = failure.value.response  
  33.                self.logger.info('HttpError錯(cuò)誤 on %s', response.url)  
  34.            elif failure.check(DNSLookupError):  
  35.                # this is the original request  
  36.                request = failure.request  
  37.                self.logger.info('DNSLookupError錯(cuò)誤 on %s', request.url)  
  38.            elif failure.check(TimeoutError, TCPTimedOutError):  
  39.                request = failure.request  
  40.                self.logger.info('TimeoutError錯(cuò)誤 on %s', request.url) 
  •  flags list類型,一般不會(huì)用到,發(fā)送請(qǐng)求的標(biāo)志,一般用于日志記錄
  •  meta 可用戶自定義從Request到Response傳遞參數(shù),這個(gè)參數(shù)一般也可在middlewares中處理   
  1. yield scrapy.Request(url = 'zarten.com'meta = {'name' : 'Zarten'}) 

在Response中: 

  1. my_name = response.meta['name'] 

不過也有scrapy內(nèi)置的特殊key,也非常有用,它們?nèi)缦拢?/p>

  •  proxy 設(shè)置代理,一般在middlewares中設(shè)置

可以設(shè)置http或https代理 

  1. request.meta['proxy'] = 'https://' + 'ip:port' 
  •  downloadtimeout 設(shè)置請(qǐng)求超時(shí)等待時(shí)間(秒),通常在settings中設(shè)置DOWNLOADTIMEOUT,默認(rèn)是180秒(3分鐘)
  •  maxretrytimes ***重試次數(shù)(除去***次下載),默認(rèn)為2次,通常在settings中 RETRY_TIMES設(shè)置
  •  dont_redirect 設(shè)為True后,Request將不會(huì)重定向
  •  dont_retry 設(shè)為True后,對(duì)于http鏈接錯(cuò)誤或超時(shí)的請(qǐng)求將不再重試請(qǐng)求
  •  handlehttpstatuslist http返回碼200-300之間都是成功的返回,超出這個(gè)范圍的都是失敗返回,scrapy默認(rèn)是過濾了這些返回,不會(huì)接收這些錯(cuò)誤的返回進(jìn)行處理。不過可以自定義處理哪些錯(cuò)誤返回:   
  1. yield scrapy.Request(url'https://httpbin.org/get/zarten'meta= {'handle_httpstatus_list' : [404]}) 

在parse函數(shù)中可以看到處理404錯(cuò)誤:     

  1. def parse(self, response):  
  2.     print('返回信息為:',response.text) 
  •  handlehttpstatusall 設(shè)為True后,Response將接收處理任意狀態(tài)碼的返回信息
  •  dontmergecookies scrapy會(huì)自動(dòng)保存返回的cookies,用于它的下次請(qǐng)求,當(dāng)我們指定了自定義cookies時(shí),如果我們不需要合并返回的cookies而使用自己指定的cookies,可以設(shè)為True
  •  cookiejar 可以在單個(gè)spider中追蹤多個(gè)cookie,它不是粘性的,需要在每次請(qǐng)求時(shí)都帶上       
  1. def start_requests(self):  
  2.            urls = ['http://quotes.toscrape.com/page/1',  
  3.                    'http://quotes.toscrape.com/page/3',  
  4.                    'http://quotes.toscrape.com/page/5',  
  5.                    ]  
  6.            for i ,url in enumerate(urls):  
  7.                yield scrapy.Request(urlurl= url, meta= {'cookiejar' : i})  
  8.        def parse(self, response):  
  9.            next_page_url = response.css("li.next > a::attr(href)").extract_first()  
  10.            if next_page_url is not None:  
  11.                yield scrapy.Request(response.urljoin(next_page_url), meta= {'cookiejar' : response.meta['cookiejar']}, callbackself.parse_next)  
  12.        def parse_next(self, response):  
  13.            print('cookiejar:', response.meta['cookiejar']) 
  •  dont_cache 設(shè)為True后,不會(huì)緩存
  •  redirect_urls 暫時(shí)還不清楚具體的作用,知道的小伙伴們歡迎在評(píng)論留言
  •  bindaddress 綁定輸出IP
  •  dontobeyrobotstxt 設(shè)為True,不遵守robots協(xié)議,通常在settings中設(shè)置
  •  downloadmaxsize 設(shè)置下載器***下載的大小(字節(jié)),通常在settings中設(shè)置DOWNLOADMAXSIZE,默認(rèn)為1073741824 (1024MB=1G),若不設(shè)置***的下載限制,設(shè)為0
  •  download_latency 只讀屬性,獲取請(qǐng)求的響應(yīng)時(shí)間(秒)       
  1. def start_requests(self):  
  2.            headers = {  
  3.                'user-agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'  
  4.            }  
  5.            yield scrapy.Request(url'https://www.amazon.com'headersheaders= headers)  
  6.        def parse(self, response):  
  7.            print('響應(yīng)時(shí)間為:', response.meta['download_latency']) 
  •  downloadfailon_dataloss 很少用到,詳情看這里
  •  referrer_policy 設(shè)置Referrer Policy

FormRequest

FormRequest 類為Request的子類,用于POST請(qǐng)求

這個(gè)類新增了一個(gè)參數(shù) formdata,其他參數(shù)與Request一樣,詳細(xì)可參考上面的講述

一般用法為:   

  1. yield scrapy.FormRequest(url="http://www.example.com/post/action" 
  2.                        formdata={'name': 'Zarten', 'age': '27'},  
  3.                        callback=self.after_post)  
責(zé)任編輯:龐桂玉 來源: Python中文社區(qū)
相關(guān)推薦

2021-01-08 09:07:19

Scrapy框架爬蟲

2017-05-15 21:00:15

大數(shù)據(jù)Scrapy爬蟲框架

2017-11-29 15:21:53

PythonScrapy爬蟲

2017-09-16 17:45:32

數(shù)據(jù)采集Scrapy爬蟲

2021-11-08 14:38:50

框架Scrapy 爬蟲

2021-11-09 09:46:09

ScrapyPython爬蟲

2021-04-12 07:36:15

Scrapy爬蟲框架

2020-12-07 11:23:32

Scrapy爬蟲Python

2020-11-11 10:58:59

Scrapy

2021-05-18 13:25:28

feapder爬蟲Python

2018-05-16 13:50:30

Python網(wǎng)絡(luò)爬蟲Scrapy

2021-01-30 10:37:18

ScrapyGerapy網(wǎng)絡(luò)爬蟲

2020-10-27 08:33:38

Scrapy

2018-05-14 16:34:08

Python網(wǎng)絡(luò)爬蟲Scrapy

2017-02-23 18:41:03

數(shù)據(jù)分析師Python網(wǎng)絡(luò)爬蟲

2011-08-08 17:59:22

UIWebView網(wǎng)絡(luò)網(wǎng)頁

2017-11-20 09:46:08

python爬蟲Scrapy

2012-07-17 09:13:14

Scrapy

2023-02-07 07:43:27

微服務(wù)應(yīng)用框架

2023-01-12 08:00:00

SpringClou微服務(wù)框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

24小时免费看片在线观看| 色婷婷激情视频| 色视频在线观看免费| 久久一日本道色综合久久| 最新国产精品拍自在线播放| 一区二区三区天堂av| 国产精品最新在线观看| 91精品一区二区三区蜜桃| a级在线免费观看| 国产美女永久免费| 国语精品一区| 亚洲欧美三级伦理| 一级黄色高清视频| 在线观看网站免费入口在线观看国内| 国产女人18毛片水真多成人如厕| 美女网站在线看| 日韩午夜一区| 亚洲一区二区久久| 久久综合在线观看| 在线观看网站免费入口在线观看国内| 中文字幕中文在线不卡住| 欧美日韩国产中文字幕| 日本日本精品二区免费| 成人av无码一区二区三区| 天堂成人国产精品一区| 欧美激情一区二区三级高清视频| 性猛交娇小69hd| 国产乱人伦丫前精品视频| 欧美日韩亚洲不卡| 欧美日韩在线不卡视频| 91三级在线| 国产精品久久久久久一区二区三区 | 亚洲一区二区免费视频| 亚洲啪啪av| 日本一区二区三区在线观看视频| 国产高清不卡二三区| 国产日本欧美一区二区三区| 久久久久久久久久久影院 | 亚洲熟妇av一区二区三区漫画| 欧美成年黄网站色视频| 国产精品午夜免费| 日韩视频专区| av资源网在线观看| 国产午夜精品美女毛片视频| 狠狠色综合欧美激情| 亚洲国产精品一| 国产高清精品网站| 1区1区3区4区产品乱码芒果精品| 在线观看国产小视频| 免费在线日韩av| 欧美在线国产精品| 日韩精品成人在线| 亚洲精品综合| 欧美一级黑人aaaaaaa做受| av大片免费在线观看| 一区在线视频| 91国内在线视频| 九九热在线视频播放| 亚洲高清自拍| 98视频在线噜噜噜国产| 中国一级特黄毛片| 亚洲伊人网站| 国产精品电影观看| 亚洲图片中文字幕| 经典三级在线一区| 99久久精品免费看国产四区| 国产高清免费在线观看| 丁香激情综合五月| 国产日韩欧美一区二区| 日韩a在线观看| 中文在线资源观看网站视频免费不卡 | 美女啪啪无遮挡免费久久网站| 日本中文在线视频| 欧美黄在线观看| 久久久久久久影院| 少妇太紧太爽又黄又硬又爽| 日日夜夜一区二区| 成人在线精品视频| 黑人乱码一区二区三区av| av成人动漫在线观看| 免费亚洲一区二区| 日本欧美在线视频免费观看| 亚洲六月丁香色婷婷综合久久| 亚洲色婷婷久久精品av蜜桃| 福利影院在线看| 欧美性极品少妇| 18深夜在线观看免费视频| 超碰一区二区三区| 一本色道久久综合狠狠躁篇的优点 | 欧美精品久久久久久久久| 1级黄色大片儿| 免费看欧美女人艹b| 亚洲va欧美va国产综合久久| 四虎精品一区二区三区| 国产欧美视频一区二区三区| 精品嫩模一区二区三区| 激情aⅴ欧美一区二区欲海潮| 欧美三级三级三级| 精品久久久久久无码人妻| 九九在线高清精品视频| 久久在线免费视频| 国产又大又黄又粗| 国产寡妇亲子伦一区二区| 鲁鲁视频www一区二区| а√天堂8资源在线官网| 欧美日韩性视频| 国产xxxxhd| 国产探花一区| 国内精品久久久久久久| 6—12呦国产精品| 91亚洲国产成人精品一区二区三| 最新av在线免费观看| 蜜臀国产一区| 亚洲成人黄色网| 麻豆明星ai换脸视频| 久久综合影音| 国内外成人免费视频| 国产区在线看| 欧美精品在线观看一区二区| 久久精品国产亚洲av麻豆| 欧美精品18| 成人欧美一区二区三区黑人孕妇| 久色视频在线| 精品国产成人在线| 国产在线观看免费播放| 亚洲草久电影| 国产伊人精品在线| 国产51人人成人人人人爽色哟哟| 香港成人在线视频| 少妇丰满尤物大尺度写真| 91久久电影| 国产日韩欧美自拍| 浮生影视网在线观看免费| 欧美日韩国产精品专区 | 中文字幕你懂的| 久久久不卡网国产精品一区| 日本www在线视频| 国产精品一区二区中文字幕| 欧美人在线视频| 精品人妻少妇嫩草av无码专区| 成人免费在线观看入口| 日韩一区二区三区不卡视频| 欧美天天综合| 国产精品吊钟奶在线| 国产人成在线视频| 在线观看亚洲精品视频| 妺妺窝人体色WWW精品| 久久久久网站| 日韩av大全| 97成人超碰| 中日韩美女免费视频网址在线观看| 人妻 日韩精品 中文字幕| av在线播放一区二区三区| 日韩五码在线观看| 欧美日韩一本| 国产91精品久久久久| 日韩二区三区| 欧美日韩你懂得| www.黄色com| 国产美女在线观看一区| 69精品丰满人妻无码视频a片| 狂野欧美xxxx韩国少妇| 久久久久久久国产精品视频| 人妻少妇精品无码专区| 欧美日韩在线第一页| 中文字幕被公侵犯的漂亮人妻| 日韩电影免费在线看| 亚洲欧美精品在线观看| 国产专区精品| 97精品视频在线观看| 手机看片福利在线观看| 色综合久久久久综合| 青青青视频在线播放| 国产一区二区在线观看免费| 精品国产一区二区三区无码| 香蕉久久99| 国产日本欧美一区二区三区| 欧美xxx黑人xxx水蜜桃| 亚洲欧美激情另类校园| 一道本无吗一区| 亚洲第一综合色| 第一次破处视频| 国产精品一区二区91| 国产精品国产亚洲精品看不卡| 国内成人精品| 51成人做爰www免费看网站| 九色porny自拍视频在线观看| 亚洲新声在线观看| www.爱爱.com| 在线观看日韩av先锋影音电影院| 在线观看亚洲网站| 91蜜桃在线观看| 涩涩网站在线看| 国产精品一页| 精品国产三级a∨在线| 欧美人与动xxxxz0oz| 成人中文字幕+乱码+中文字幕| free性护士videos欧美| 日韩性生活视频| 神宫寺奈绪一区二区三区| 欧美日韩一级视频| 日韩av大片在线观看| 亚洲色图丝袜美腿| 亚洲精品视频大全| 国产成人在线观看免费网站| 三级在线免费看| 妖精视频成人观看www| 亚洲美女自拍偷拍| 黑丝美女一区二区| 精品久久久久久亚洲| 久久久久久亚洲精品美女| 国产成人精品a视频一区www| 免费污视频在线观看| 精品国产拍在线观看| 国产精品天堂| 日韩精品免费看| 亚洲国产999| 欧美精品 国产精品| 波多野结衣人妻| 精品美女国产在线| 国产精品白浆一区二小说| 亚洲欧洲成人精品av97| 精品人伦一区二区三电影| 91在线观看免费视频| 久久久久中文字幕亚洲精品| 极品销魂美女一区二区三区| 9久久婷婷国产综合精品性色| 国产情侣一区| 五十路熟女丰满大屁股 | 国产日韩成人内射视频| 国产亚洲一级| 97成人在线免费视频| 极品裸体白嫩激情啪啪国产精品| 中文字幕第50页| 成人精品影视| 日韩中文一区| 欧美亚洲国产激情| 三区精品视频| 欧美日韩黑人| 日韩中文字幕一区| 欧美老女人另类| 亚洲精品tv久久久久久久久| 欧美日韩一区二区综合| 日韩av大全| 精品理论电影| 一区二区高清视频| 99精品视频在线观看免费播放| 亚洲一区二区三区精品视频| 成人免费在线播放| 一区二区在线观看网站| 色乱码一区二区三区网站| 亚洲免费久久| 91精品国产成人观看| a级片一区二区| 亚洲电影成人| 欧美日韩在线不卡视频| 美女在线视频一区| 亚洲激情在线看| 国产69精品久久99不卡| 久久久午夜精品福利内容| 91蜜桃婷婷狠狠久久综合9色| 国产免费看av| 中日韩av电影| 久久久久97国产| 欧美日韩亚洲系列| 亚洲无码精品国产| 欧美成人a视频| 亚洲色欧美另类| 一区二区三区视频免费| av网站导航在线观看免费| 久久久女女女女999久久| 欧美激情喷水| 成人淫片在线看| 欧美巨大xxxx| 亚洲国产日韩欧美| 激情久久中文字幕| 色婷婷综合久久久久中文字幕 | 欧美aaa级| 88xx成人精品| 国产成+人+综合+亚洲欧美| 成人写真福利网| 久久动漫网址| 亚洲成人在线视频网站| 欧美成人亚洲| 成人羞羞国产免费网站| 久久激情五月婷婷| 成人做爰www看视频软件| 国产亚洲欧美日韩俺去了| 免费三级在线观看| 色综合中文字幕国产| 国产有码在线观看| 亚洲精品二三区| 国产福利视频在线观看| 2019精品视频| 国产精品18| 免费在线观看一区二区| 伊人久久大香线蕉精品组织观看| 日韩av在线第一页| 狠狠色狠狠色综合日日91app| 999精品免费视频| 国产精品久久国产精麻豆99网站| 国产精品第108页| 欧美区一区二区三区| 丝袜视频国产在线播放| 久久久国产一区二区| 成人影院网站| 国产精品毛片一区视频| 色综合天天爱| 亚洲中文字幕无码不卡电影| 国产成人在线观看| 99精品中文字幕| 日本二三区不卡| 日批视频免费播放| 欧美成人四级hd版| 99久久er| 久久国产精品久久| 国产综合精品| 午夜免费视频网站| 中文一区二区完整视频在线观看| 国产成人免费观看视频| 日韩三级视频中文字幕| 香蕉视频在线播放| 国产精品com| 丝袜久久网站| 日韩中字在线观看| 国产成人午夜电影网| 亚洲人做受高潮| 欧美日韩一级黄| 韩日视频在线| 日本免费一区二区三区视频观看| 大陆精大陆国产国语精品| 亚洲精品少妇一区二区| 韩国精品免费视频| 亚洲精品一区二区三区在线播放| 在线观看欧美精品| 黄色电影免费在线看| 欧美在线观看视频| 在线一级成人| 日本精品www| 久久久www成人免费毛片麻豆| 免费看日韩毛片| 精品一区精品二区| 中文在线8资源库| 日本高清不卡一区二区三| 在线观看视频日韩| 国产成人av无码精品| 亚洲成人免费av| 四虎成人免费在线| 人人爽久久涩噜噜噜网站| 免费久久久久久久久| 日日碰狠狠躁久久躁婷婷| 久久久国产午夜精品 | 日韩在线a电影| 亚洲欧洲久久久| 精品婷婷伊人一区三区三| 在线观看免费网站黄| 国产裸体写真av一区二区| 99久久亚洲精品| 中文字幕人妻熟女在线| 亚洲www啪成人一区二区麻豆| 天天摸夜夜添狠狠添婷婷| 日本成人黄色片| 日韩欧美午夜| 亚洲天堂一区二区在线观看| 亚洲乱码中文字幕综合| 丰满大乳国产精品| 日本伊人精品一区二区三区介绍| 欧美欧美黄在线二区| 日本xxxx黄色| 亚洲另类中文字| 性xxxx18| 国产精品永久免费观看| 亚洲精品成人影院| 国产 中文 字幕 日韩 在线| 一本久久a久久免费精品不卡| av中文资源在线| 91丝袜脚交足在线播放| 99精品国产一区二区青青牛奶| 在线免费看黄视频| 制服丝袜亚洲播放| 678在线观看视频| 日韩av一区二区三区在线| 韩国成人在线视频| 在线观看亚洲天堂| 久久精品2019中文字幕| 久久夜色精品国产噜噜av小说| 日韩中文字幕免费在线| 综合久久一区二区三区| 神马午夜电影一区二区三区在线观看| 热久久视久久精品18亚洲精品| 天天超碰亚洲| 少妇特黄一区二区三区| 欧美一级在线观看| 欧美xxx性| www.18av.com| 欧美国产欧美亚州国产日韩mv天天看完整 | 青青在线视频| 视频一区亚洲| 成人综合在线观看| 在线观看色网站|