ScrapyShell使用

Scrapy Shell

Scrapy終端是一個(gè)交互終端徒欣,我們可以在未啟動(dòng)spider的情況下嘗試及調(diào)試代碼饭望,也可以用來(lái)測(cè)試XPath或CSS表達(dá)式悔政,查看他們的工作方式,方便我們爬取的網(wǎng)頁(yè)中提取的數(shù)據(jù)庄蹋。

如果安裝了 IPython 瞬内,Scrapy終端將使用 IPython (替代標(biāo)準(zhǔn)Python終端)迷雪。 IPython 終端與其他相比更為強(qiáng)大,提供智能的自動(dòng)補(bǔ)全虫蝶,高亮輸出章咧,及其他特性。(推薦安裝IPython)

Scrapy Shell根據(jù)下載的頁(yè)面會(huì)自動(dòng)創(chuàng)建一些方便使用的對(duì)象能真,例如 Response 對(duì)象赁严,以及 Selector 對(duì)象 (對(duì)HTML及XML內(nèi)容)。
當(dāng)shell載入后粉铐,將得到一個(gè)包含response數(shù)據(jù)的本地 response 變量疼约,輸入 response.body將輸出response的包體,輸出 response.headers 可以看到response的包頭蝙泼。
輸入 response.selector 時(shí)程剥, 將獲取到一個(gè)response 初始化的類(lèi) Selector 的對(duì)象,此時(shí)可以通過(guò)使用 response.selector.xpath()或response.selector.css() 來(lái)對(duì) response 進(jìn)行查詢汤踏。
Scrapy也提供了一些快捷方式, 例如 response.xpath()或response.css()同樣可以生效织鲸。

Selectors選擇器

Scrapy Selectors 內(nèi)置 XPath 和 CSS Selector 表達(dá)式機(jī)制。
Selector有四個(gè)基本的方法溪胶,最常用的還是xpath:

xpath(): 傳入xpath表達(dá)式搂擦,返回該表達(dá)式所對(duì)應(yīng)的所有節(jié)點(diǎn)的selector list列表
extract(): 序列化該節(jié)點(diǎn)為Unicode字符串并返回list
css(): 傳入CSS表達(dá)式,返回該表達(dá)式所對(duì)應(yīng)的所有節(jié)點(diǎn)的selector list列表哗脖,語(yǔ)法同 BeautifulSoup4
re(): 根據(jù)傳入的正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行提取瀑踢,返回Unicode字符串list列表

使用案例:

        # 啟動(dòng)
        scrapy shell "http://hr.tencent.com/position.php?&start=0#a"

![Uploading scrapyshell1_605828.png . . .]

        # 返回 xpath選擇器對(duì)象列表
        response.xpath('//title')
        [<Selector xpath='//title' data=u'<title>\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058</title'>]
        
        # 使用 extract()方法返回 Unicode字符串列表
        response.xpath('//title').extract()
        [u'<title>\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058</title>']
        
        # 打印列表第一個(gè)元素,終端編碼格式顯示
        print response.xpath('//title').extract()[0]
        <title>職位搜索 | 社會(huì)招聘 | Tencent 騰訊招聘</title>
        
        # 返回 xpath選擇器對(duì)象列表
        response.xpath('//title/text()')
        <Selector xpath='//title/text()' data=u'\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058'>
        
        # 返回列表第一個(gè)元素的Unicode字符串
        response.xpath('//title/text()')[0].extract()
        u'\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058'
        
        # 按終端編碼格式顯示
        print response.xpath('//title/text()')[0].extract()
        職位搜索 | 社會(huì)招聘 | Tencent 騰訊招聘
        
        response.xpath('//*[@class="even"]')
        職位名稱(chēng):
        
        print site[0].xpath('./td[1]/a/text()').extract()[0]
        TEG15-運(yùn)營(yíng)開(kāi)發(fā)工程師(深圳)
        職位名稱(chēng)詳情頁(yè):
        
        print site[0].xpath('./td[1]/a/@href').extract()[0]
        position_detail.php?id=20744&keywords=&tid=0&lid=0
        職位類(lèi)別:
        
        print site[0].xpath('./td[2]/text()').extract()[0]
        技術(shù)類(lèi)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末才避,一起剝皮案震驚了整個(gè)濱河市橱夭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桑逝,老刑警劉巖徘钥,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肢娘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)舆驶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)橱健,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人沙廉,你說(shuō)我怎么就攤上這事拘荡。” “怎么了撬陵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵珊皿,是天一觀的道長(zhǎng)网缝。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蟋定,這世上最難降的妖魔是什么粉臊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮驶兜,結(jié)果婚禮上扼仲,老公的妹妹穿的比我還像新娘。我一直安慰自己抄淑,他們只是感情好屠凶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著肆资,像睡著了一般矗愧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上郑原,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天唉韭,我揣著相機(jī)與錄音,去河邊找鬼颤专。 笑死纽哥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的栖秕。 我是一名探鬼主播春塌,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼簇捍!你這毒婦竟也來(lái)了只壳?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤暑塑,失蹤者是張志新(化名)和其女友劉穎吼句,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體事格,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惕艳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驹愚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片远搪。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逢捺,靈堂內(nèi)的尸體忽然破棺而出谁鳍,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布倘潜,位于F島的核電站绷柒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏涮因。R本人自食惡果不足惜废睦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕊退。 院中可真熱鬧郊楣,春花似錦、人聲如沸瓤荔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)输硝。三九已至今瀑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間点把,已是汗流浹背橘荠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郎逃,地道東北人哥童。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像褒翰,于是被迫代替她去往敵國(guó)和親贮懈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容