# Request 部分源碼:
class Request(object_ref):
def __init__(self, url, callback=None, method='GET', headers=None, body=None,
cookies=None, meta=None, encoding='utf-8', priority=0,
dont_filter=False, errback=None):
self._encoding = encoding # this one has to be set first
self.method = str(method).upper()
self._set_url(url)
self._set_body(body)
assert isinstance(priority, int), "Request priority not an integer: %r" % priority
self.priority = priority
assert callback or not errback, "Cannot use errback without a callback"
self.callback = callback
self.errback = errback
self.cookies = cookies or {}
self.headers = Headers(headers or {}, encoding=encoding)
self.dont_filter = dont_filter
self._meta = dict(meta) if meta else None
@property
def meta(self):
if self._meta is None:
self._meta = {}
return self._meta
'''
url: 就是需要請(qǐng)求仪缸,并進(jìn)行下一步處理的url
callback: 指定該請(qǐng)求返回的Response饮寞,由那個(gè)函數(shù)來(lái)處理翘瓮。
method: 請(qǐng)求一般不需要指定,默認(rèn)GET方法,可設(shè)置為"GET", "POST", "PUT"等,且保證字符串大寫
headers: 請(qǐng)求頭
cookies: cookies,模擬用戶登錄需要指定用戶的cookies,字典dict型
meta: 比較常用,在不同的請(qǐng)求之間傳遞數(shù)據(jù)使用的弛饭。字典dict型
'''
request_with_cookies = Request(
url="http://www.example.com",
cookies={'currency': 'USD', 'country': 'UY'},
meta={'dont_merge_cookies': True}
)
'''
encoding: 編碼類型,使用默認(rèn)的 'utf-8' 就行。
dont_filter: 表明該請(qǐng)求不由調(diào)度器過(guò)濾伏恐。這是當(dāng)你想使用多次執(zhí)行相同的請(qǐng)求,忽略重復(fù)的過(guò)濾器孩哑。默認(rèn)為False。
errback: 指定錯(cuò)誤處理函數(shù)
'''
# 如果希望程序執(zhí)行一開(kāi)始就發(fā)送POST請(qǐng)求翠桦,可以重寫Spider類的start_requests(self) 方法横蜒,并且不再調(diào)用start_urls里的url胳蛮。
class mySpider(scrapy.Spider):
name = 'myspider'
allow_domeas = ['renren.com']
start_urls = ["http://www.renren.com/PLogin.do"]
def start_requests(self):
# FormRequest 是Scrapy發(fā)送POST請(qǐng)求的方法
for url in self.start_urls:
yield scrapy.FormRequest(
url = url,
formdata = {"email" : "mr_mao_hacker@163.com", "password" : "axxxxxxxe"},
callback = self.parse_page
)
def parse_page(self, response):
"""
請(qǐng)求成的回調(diào)函數(shù)
"""
pass
Response
class Response(object_ref):
def __init__(self, url, status=200, headers=None, body='', flags=None, request=None):
self.headers = Headers(headers or {})
self.status = int(status)
self._set_body(body)
self._set_url(url)
self.request = request
self.flags = [] if flags is None else list(flags)
@property
def meta(self):
try:
return self.request.meta
except AttributeError:
raise AttributeError("Response.meta not available, this response " \
"is not tied to any request")
'''
status: 響應(yīng)碼
body: 響應(yīng)體
url:響應(yīng)url
self.request (request對(duì)象)
self.headers (響應(yīng)頭)
'''
Scrapy Request和Response參數(shù)介紹
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)毁兆,“玉大人浙滤,你說(shuō)我怎么就攤上這事∑椋” “怎么了纺腊?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茎芭。 經(jīng)常有香客問(wèn)我揖膜,道長(zhǎng),這世上最難降的妖魔是什么梅桩? 我笑而不...
- 正文 為了忘掉前任壹粟,我火速辦了婚禮,結(jié)果婚禮上摘投,老公的妹妹穿的比我還像新娘煮寡。我一直安慰自己,他們只是感情好犀呼,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著薇组,像睡著了一般外臂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上律胀,一...
- 那天宋光,我揣著相機(jī)與錄音,去河邊找鬼炭菌。 笑死罪佳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的黑低。 我是一名探鬼主播赘艳,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼酌毡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蕾管?” 一聲冷哼從身側(cè)響起枷踏,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掰曾,沒(méi)想到半個(gè)月后旭蠕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡旷坦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年掏熬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秒梅。...
- 正文 年R本政府宣布漱办,位于F島的核電站这刷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏娩井。R本人自食惡果不足惜暇屋,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洞辣。 院中可真熱鬧咐刨,春花似錦、人聲如沸扬霜。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)著瓶。三九已至联予,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間材原,已是汗流浹背沸久。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像威酒,于是被迫代替她去往敵國(guó)和親窑睁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挺峡,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- Request 部分源碼: 如果希望程序執(zhí)行一開(kāi)始就發(fā)送POST請(qǐng)求,可以重寫Spider類的start_requ...
- Python版本管理:pyenv和pyenv-virtualenvScrapy爬蟲入門教程一 安裝和基本使用Scr...
- 本章將介紹Request與Response,更多內(nèi)容請(qǐng)參考:Python學(xué)習(xí)指南 Request Request源...
- Servlet的調(diào)用圖 前面我們已經(jīng)學(xué)過(guò)了Servlet的生命周期了,我們根據(jù)Servlet的生命周期畫出Serv...