scrapy爬取妹子圖

廢話不多說妄均,爬取妹子圖片
使用scrapy深度爬取,抓取妹子圖全站圖片

1.首先確認開發(fā)環(huán)境

使用scrapy框架徽千,Python3.6
創(chuàng)建scrapy項目meizitu-scrapy

項目結(jié)構(gòu)

spiders文件夾里為自己創(chuàng)建的爬蟲文件
run.py為定義的啟動scrapy 命令文件

2. 開發(fā)爬蟲

首先定義item 缸匪,確定自己爬取的數(shù)據(jù)類型


items.py

開始開發(fā)爬蟲
由于我們要抓取全站圖片褒纲,所以使用深度爬取准夷,爬蟲繼承的類為crawlspider


使用的模塊
定義爬蟲類,定義屬性

這主要是確定爬蟲的爬取起始網(wǎng)址和界限爬取的網(wǎng)址莺掠,
定義鏈接提取規(guī)則衫嵌,scrapy封裝的函數(shù)會將提取的鏈接加入爬取隊列。解析篩選數(shù)據(jù)由callback調(diào)用的parse_item處理彻秆,此處不能使用parse楔绞,重點說明!4蕉摇>贫洹!不能parse函數(shù)T健蔫耽!這是CrawlSpider進行匹配調(diào)用的函數(shù),你要是使用了留夜!rules就沒法進行匹配啦3渍 !


妹子圖的界面

這是妹子圖的單獨一頁碍粥,每頁都有一個列表鳖眼,單獨一個圖集里含有圖集所有圖片,之前鏈接提取的就是下面分頁的鏈接嚼摩。
接下來做的就是將得到的頁面解析钦讳,得到圖集的名稱和圖集的鏈接,也就是parse_item的主要任務(wù)低斋。

parse_item函數(shù)

此處通過xpath得到列表,在for循環(huán)得到每個圖集的數(shù)據(jù)匪凡,將其封裝到item對象膊畴。由于我們需要進一步獲取圖集的每張圖片的鏈接,所以需要再次爬取病游,爬取圖集鏈接唇跨,得到具體頁面的所有圖片鏈接稠通。
此處調(diào)用img-url函數(shù)處理爬取的結(jié)果,由于需要傳遞數(shù)據(jù)买猖,
此處參考了Scrapy抓取在不同級別Request之間傳遞參數(shù)文章改橘。
流程是這樣的:
傳遞數(shù)據(jù)流程

圖片鏈接獲取
處理得到數(shù)據(jù)

在這里遇到一個問題:

得到封裝的數(shù)據(jù)

如上圖所示,得到封裝后的數(shù)據(jù)玉控。點擊卻發(fā)現(xiàn)得到的image_urls與name和URL不是一個對應(yīng)的圖集的飞主,數(shù)據(jù)封裝產(chǎn)生了混淆。如何解決呢高诺?碌识??
虱而。筏餐。。牡拇。魁瞪。。惠呼。导俘。。罢杉。趟畏。。滩租。赋秀。。律想。猎莲。。技即。著洼。
就是百度。
在CSDN 得到了解決而叼,有人說是參數(shù)傳遞問題


參數(shù)說明

這是由于傳遞的item是淺拷貝身笤,造成數(shù)據(jù)沒有隔離,需要深拷貝來將數(shù)據(jù)隔離葵陵,避免產(chǎn)生混淆液荸。使用深拷貝,保證內(nèi)容的獨立性脱篙。

import copy
yield Request(url,meta={'item':copy.deepcopy(item)},callback=self.img_url)

深度拷貝 copy.deepcopy(),而且copy是在yield傳遞的時候深度拷貝值,不是在接收的時候拷貝娇钱。
到此伤柄,已經(jīng)能將獲得的數(shù)據(jù)獲得到。接下來就是數(shù)據(jù)存儲或者將把圖片弄回本地文搂。
暫時到此适刀,下次再說存儲數(shù)據(jù)庫和下載圖片到本地。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末煤蹭,一起剝皮案震驚了整個濱河市笔喉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疯兼,老刑警劉巖然遏,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吧彪,居然都是意外死亡待侵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門姨裸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秧倾,“玉大人,你說我怎么就攤上這事傀缩∧窍龋” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵赡艰,是天一觀的道長售淡。 經(jīng)常有香客問我,道長慷垮,這世上最難降的妖魔是什么揖闸? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮料身,結(jié)果婚禮上汤纸,老公的妹妹穿的比我還像新娘。我一直安慰自己芹血,他們只是感情好贮泞,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幔烛,像睡著了一般啃擦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饿悬,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天令蛉,我揣著相機與錄音,去河邊找鬼乡恕。 笑死言询,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的傲宜。 我是一名探鬼主播运杭,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼函卒!你這毒婦竟也來了辆憔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤报嵌,失蹤者是張志新(化名)和其女友劉穎虱咧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锚国,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡腕巡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了血筑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绘沉。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖豺总,靈堂內(nèi)的尸體忽然破棺而出车伞,到底是詐尸還是另有隱情,我是刑警寧澤喻喳,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布另玖,位于F島的核電站,受9級特大地震影響表伦,放射性物質(zhì)發(fā)生泄漏谦去。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一绑榴、第九天 我趴在偏房一處隱蔽的房頂上張望哪轿。 院中可真熱鬧,春花似錦翔怎、人聲如沸窃诉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽飘痛。三九已至,卻和暖如春容握,著一層夾襖步出監(jiān)牢的瞬間宣脉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工剔氏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留塑猖,地道東北人竹祷。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像羊苟,于是被迫代替她去往敵國和親塑陵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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

  • 序言第1章 Scrapy介紹第2章 理解HTML和XPath第3章 爬蟲基礎(chǔ)第4章 從Scrapy到移動應(yīng)用第5章...
    SeanCheney閱讀 15,032評論 13 61
  • 最近看了一部電視劇《生逢燦爛的日子》蜡励,看到網(wǎng)上有很多吐槽令花,說成年后的演員年齡差距太大,而我就是沖著張嘉譯來看的這部...
    默莞閱讀 1,124評論 0 3
  • 今晨凉倚,老公幫忙照顧女兒吃早餐兼都,女兒在餐椅上發(fā)出不愉快的腔調(diào),由低到高稽寒,由弱漸強扮碧,我默默收拾著東西(一般老公主動要求...
    小依媽閱讀 421評論 8 8
  • 考完研難得有這么閑散的時光,過年之前和媽媽一起回老家呆一個月杏糙,看看外公外婆芬萍。 趕上老家的第一場大雪,氣溫都能和我大...
    咸魚愛蝦米閱讀 131評論 0 0