創(chuàng)建數(shù)據(jù)庫
在navicat里直接進入首先創(chuàng)建數(shù)據(jù)庫zufang
create database zufang;
注意:最后是以分號結(jié)束钉迷,點擊回車執(zhí)行的
刷新以后得到了數(shù)據(jù):
然后在剛才的Pycharm里面的Scrapy項目的命令行里輸入ipython忘闻,使用python的命令行引入包:
import pysysql
然后建立數(shù)據(jù)庫連接:
#建立連接
zufang = pymysql.connect(host='localhost',user='root',password='mima',database='zufang')
#創(chuàng)建表格
create_table = 'create table zufang (title varchar(512) , money varchar(128));'
#游標(biāo)
zf_cursor = zufang.cursor()
#sql語句:創(chuàng)建個zufang的表格整葡,有標(biāo)題和價格兩頁
create_table = 'create table zufang (title varchar(512) , money varchar(128));'
#用游標(biāo)執(zhí)行
zf_cursor.execute(create_table)
然后可以看見創(chuàng)建成功了:
實際上在這個過程中,用sqlite3也可以的笋鄙。mysql是服務(wù)型的杯拐,必須定義cursor游標(biāo);而sqlite3則不必血巍,直接調(diào)用execute就好萧锉。
pipeline
點擊pipeline.py文件,發(fā)現(xiàn)里面已經(jīng)有內(nèi)容了述寡。
先把它放在一邊
打開settings.py
找到ITEM_PIPELINES柿隙,把它的注釋去掉。
改成如下形式:
ITEM_PIPELINES = {
#'my_1st_project.pipelines.My1StProjectPipeline': 300,
'my_1st_project.pipelines.My1StProjectPipeline': 300,
}
添加的部分是my_1st_project項目管道中的一個類鲫凶。后面的值要在1-1000范圍之內(nèi)禀崖,如果有多個,值不能相同
那么回到ganji.py中來螟炫,要把輸出內(nèi)容放到items里面來波附,那么原文件的選中部分就不需要了。
打開items.py
從爬蟲里面將數(shù)據(jù)傳入到項目管道中,必須通過items里面定義的一個類才能傳過去换吧。將里面的內(nèi)容加上titile和money折晦,并復(fù)制class名稱,這里是My1StProjectItem
回到ganji.py
在頭部加上
from ..items import My1StProjectItem
在parse函數(shù)下面加上
zf = My1StProjectItem() #一定要有括號
在zip語句下面加上:
zf['title'] = i
zf['money'] = j
yield zf
即:
這樣就成功傳到了pipeline里面了沾瓦。
打開pipeline測試一下:
注意满着,settings.py里面的管道標(biāo)注必須和管道里面的class名稱相對應(yīng),即
項目名.pipelines.類名
贯莺。
這時候再在命令行里輸入scrapy crawl 爬蟲名
:
例如:$ scrapy crawl zufang
可以返回結(jié)果(注意如果返回不成功的話风喇,看看是不是頻繁請求把訪問禁止了,打開網(wǎng)頁去拖一個滑塊吧)
返回結(jié)果如下:
2018-12-18 22:28:43 [scrapy.utils.log] INFO: Scrapy 1.5.1 started (bot: my_1st_project)
2018-12-18 22:28:43 [scrapy.utils.log] INFO: Versions: lxml 4.2.4.0, libxml2 2.9.8, cssselect 1.0.3, parsel 1.5.0, w3lib 1.19.0, Twisted 18.7.0, Python 3.6.3 (v3.6.3:2c5fed86e0, Oct 3 2017, 00:32:08) - [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)], pyOpenSSL 18.0.0 (OpenSSL 1.1.0i 14 Aug 2018), cryptography 2.3.1, Platform Darwin-17.7.0-x86_64-i386-64bit
2018-12-18 22:28:43 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'my_1st_project', 'NEWSPIDER_MODULE': 'my_1st_project.spiders', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['my_1st_project.spiders']}
2018-12-18 22:28:43 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
'scrapy.extensions.telnet.TelnetConsole',
'scrapy.extensions.memusage.MemoryUsage',
'scrapy.extensions.logstats.LogStats']
2018-12-18 22:28:43 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware',
'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
'scrapy.downloadermiddlewares.retry.RetryMiddleware',
'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
'scrapy.downloadermiddlewares.stats.DownloaderStats']
2018-12-18 22:28:43 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
'scrapy.spidermiddlewares.referer.RefererMiddleware',
'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
'scrapy.spidermiddlewares.depth.DepthMiddleware']
2018-12-18 22:28:43 [scrapy.middleware] INFO: Enabled item pipelines:
['my_1st_project.pipelines.My1StProjectPipeline']
2018-12-18 22:28:43 [scrapy.core.engine] INFO: Spider opened
2018-12-18 22:28:43 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2018-12-18 22:28:43 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6023
2018-12-18 22:28:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://bj.ganji.com/robots.txt> (referer: None)
2018-12-18 22:28:44 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://bj.ganji.com/wblist/haidian/zufang/> (referer: None)
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '3700', 'title': '可可月付 永豐地鐵 大牛坊 精裝一居室 北斗星通 軟件園'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4500', 'title': '友誼嘉園小牛坊精裝一居室(實圖實價)4500出租 隨時看房'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '魔方公寓 西二旗 上地 潤澤莊園 13號線 設(shè)施齊全 '}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4890', 'title': '地鐵813號線酒店式公寓獨立衛(wèi)浴月付靈活缕探,24H'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '整租丨配有停車場 2千多平私密花園 700多平室內(nèi)健身娛樂區(qū)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4500', 'title': '凱盛家園精裝兩居室家具家電全齊 包物業(yè)取暖 隨時看房拎包入住'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '3600', 'title': '大牛坊 正規(guī)大一居出租 直達(dá)中關(guān)村 用友 永豐基地 實圖實價'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5000', 'title': '田村 京糧廣場 天下城 定慧寺 精裝大兩居室 0中介'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5000', 'title': '學(xué)院路 清楓華景園 文成杰座 基金委 林業(yè)大學(xué) 精裝一居室'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5000', 'title': '田村小區(qū) 南北通透兩居室 采光足 配套齊全 交通便利'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '3400', 'title': '大牛坊 用友 綠海 中關(guān)村軟件園 博雅cc 百度 新浪 網(wǎng)易'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5200', 'title': '急租田村23號院 田村23號院南北通透 為您傾情呈現(xiàn)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5800', 'title': '尚 誠 世華龍樾二里南向一居 采光好 無遮擋小區(qū)人車分流'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '暖冬福利超近距離地鐵六號線田村站 距離地鐵口50米 精裝一居'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5500', 'title': '火爆房源降價出租魂莫!甘家口出租精美一居 白堆子 云建大廈'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5900', 'title': '魔方公寓 魏公村 可月付 年底住一年免一個月 精裝直租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '城華園精裝大一居室 可長簽 逸成東苑清楓華景園農(nóng)業(yè)大學(xué)靜淑苑'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '新增環(huán)保科技園近華為尚峰尚水尚品園北辰香麓空房兩居室隨時起租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4200', 'title': '遠(yuǎn)洋邦舍龍旗廣場店 押一付一 無中介 拎包入住 可'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6000', 'title': '大河莊苑 真 實照片 真 實價格 真 實房源 12月底到期'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5000', 'title': '西北旺 大牛坊整租三居室 無中介.費 用友軟件園中關(guān)村'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6300', 'title': '尚 誠 急租 萊圳家園東向精裝一居室 看房隨時有鑰匙'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7100', 'title': '精裝兩居室 口腔醫(yī)院 國家氣象局 國家圖書館9號線 湖北大廈'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7400', 'title': '保福寺小區(qū)交通方便爹耗,距離地鐵口300米 緊鄰中關(guān)村軟件園'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7100', 'title': '(尚誠) 清緣東里精裝南北兩居室 臨近永泰莊 東升科技園'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '9450', 'title': '西直門地鐵文慧橋楓藍(lán)國際今典花園南向大三居業(yè)主直租出國急租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '柳浪家園一居室家電齊全耙考,隨時看房子,隨時入住潭兽,業(yè)主人不錯'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4500', 'title': '剛降價3000倦始,人大院內(nèi)精裝兩居 家電齊全 wifi 急租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '15000', 'title': '(新出)光大水墨高層南北2居室,精裝修,家電家具全齊,可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '17000', 'title': '芙蓉里南街6號院 精裝大三居 電梯樓 可辦公'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4500', 'title': '溫泉 西北旺 溫馨兩居 保利西山林語周邊 齊全 16號屯佃站'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1800', 'title': '精裝修 押一付一 地鐵16號溫陽路 稻香湖路 永豐 農(nóng)大南路'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5200', 'title': '年底降價出租 精裝兩居室 南北通透 可以也可長租 包物業(yè)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5600', 'title': '四季青西山 門頭馨園北區(qū)二居精裝入住車位寬裕 翰河園北塢嘉園'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '20000', 'title': '(新出)碧水云天南北3居室,精裝修,可配家電家具,可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6500', 'title': '可住員工宿舍 海淀西釣魚臺 西翠路 定慧東里精裝大兩居可月付'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '19000', 'title': '萬柳碧水云天 高層三居室 有鑰匙 不臨街 帶車位'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '32000', 'title': '中關(guān)村大街科技會展中心近北三環(huán) 臨4號 有車位 可辦公有鑰匙'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6000', 'title': '首月減600 實房實價 旱河路 益園 杏石口路 火星時代'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '18000', 'title': '西三環(huán) 公主墳 萬壽路 四居室 明衛(wèi) 帶車位 緊鄰玉淵潭公園'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5900', 'title': '正規(guī)一居室,房東人好 家具家電齊全 步行200米公交站'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4500', 'title': '西三環(huán) 公主墳 翠微中里新出精裝修一居室 有鑰匙'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '37500', 'title': '寫字樓,800平米出租山卦,可分割鞋邑,免費車位,現(xiàn)成辦工桌'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '45000', 'title': '公主墳 玉淵潭 緣溪堂 南北大平層 精裝修 可辦 公 做接待'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5600', 'title': '公主墳 萬壽路 西釣魚臺10號線 翠微北里 正規(guī)電梯大一居'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7500', 'title': '裝修好兩居室,新社區(qū),加點齊全,六道口768財富中心學(xué)清嘉創(chuàng)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6500', 'title': '清華附中西北小區(qū)精裝正規(guī)大一居家具齊全可租到高考結(jié)束隨時看房'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6900', 'title': '廠洼理工大學(xué) 魏公村小南莊外國語大學(xué) 溫馨兩居可當(dāng)三居用'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '60000', 'title': '西山美墅館 檀香山 500萬 裝修 會所 接待'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5600', 'title': '田村京糧廣場五路居地鐵家樂福'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1080', 'title': '單間 獨衛(wèi) 告別合租 告別隔 斷 整租一室 精裝修 拎包入'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '19000', 'title': '萬泉新新 帶40平小院!南北通透三居可租5年保養(yǎng)好家電家具齊'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '8500', 'title': '知春路地鐵站旁邊枚碗,碧興園東向80平米一居室 可居家辦公'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '15000', 'title': '光大花園大三居 可辦公 長租5年 使用空間足 隨時起租有鑰匙'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '12900', 'title': '萬壽路地鐵 150平復(fù)式 大三居室 萬壽路28號院'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4600', 'title': '新上 地鐵10號線 車道溝站 曙光花園 農(nóng)林科學(xué)院 精裝修'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1300', 'title': '西北旺韓家川北站酒店式公寓單間出租設(shè)施齊全實墻交通購物方便'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '10100', 'title': '白石橋南 增光佳苑 新房兩居室 隨時看房 可配齊 可長租3年'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '24000', 'title': '(新出)萬泉新新家園精裝3居室,保養(yǎng)好,家電家具齊全,可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4050', 'title': '北京貝客公寓 直租 家電齊全 獨門獨戶 獨棟 免費健身'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5700', 'title': '清河 清潤家園 高層電梯兩居室 可長租可'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6200', 'title': '蘭德華庭兩居室?guī)к囄坏罔F田村站'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '900', 'title': '在上地找房難逾一,不想合租那你看這里。整租酒店式公寓獨立衛(wèi)生間'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5500', 'title': '萬壽路地鐵附近 翠微路 公主墳 兩居室看房隨時'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '20000', 'title': '有鑰匙一層帶花園 三居室出租 裝修好 保養(yǎng)好一定要看車位'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '800', 'title': '西二旗 智學(xué)苑 這么便宜的房子 難道不是你希望的嗎 趕緊肮雨!'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '9300', 'title': '華潤橡樹灣(一期) 2室1廳1衛(wèi)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5800', 'title': '西三環(huán)薊門橋西明光北里對面薊門里小區(qū)精裝修正規(guī)兩居室'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5900', 'title': '魔方公寓 住半年免3000 可月付 魏公村 拎包入住 精裝'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '60000', 'title': '(新出)萬柳書院精裝修3居室,家電家具全齊,拎包即住,可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5500', 'title': '五路居地鐵口西木小區(qū)2層兩居室出租隨時看房入住'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7500', 'title': '皂君東里 財經(jīng)大學(xué) 交大附中精裝兩居室出租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '21500', 'title': '海淀萬柳光大水墨精裝南北三居遵堵,家電齊全,帶車位'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '70000', 'title': '(新出)萬城華府1層帶花園平層5居,精裝修,家電家具全齊'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '3800', 'title': '白錐子 甘家口 增光路 勞動學(xué)院 精裝修一居室 實拍照片'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6200', 'title': '公主墳地鐵以西200米精裝修二居室業(yè)主急租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6800', 'title': '地鐵慈壽寺 精裝二居五福玲瓏居 美麗園 金雅園 金莊1號'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1800', 'title': '精裝修 押一付一 地鐵16號溫陽路 稻香湖路 永豐 柳林村'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '20000', 'title': '(新出)萬泉新新家園南北3居,一層帶花園,帶車位,可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '19000', 'title': '整租萬柳萬泉新新精裝三居 南北通透 帶車位大花園 可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6000', 'title': '知春路地鐵站旁碧興園太月園錦秋家園旁羅莊西里精裝修正規(guī)兩居室'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1300', 'title': '西北旺韓家川路公寓酒店式單間帶廚衛(wèi)拎包入住接受押一付一安全'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1300', 'title': '韓家川北站酒店式公寓單間出租多間可選設(shè)施齊全實墻交通購物方便'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '25000', 'title': '裝修好的別墅 家具家電都有 帶南花園 樓間距比較大 環(huán)境好'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '75000', 'title': '萬柳書院 31戶型 南北通透 有鑰匙車位儲藏間 隨時入住'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '46000', 'title': '萬泉新新家園 頂層復(fù)式 業(yè)主誠心出租 看房隨時 三年起租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5500', 'title': '永金里 兩居 家電齊全 看房下午'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5500', 'title': '西直門首鋼國際桔子酒店低樓層精裝一居室有鑰匙隨時看房拎包住'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7000', 'title': '清華大學(xué)公寓樓 精裝大一居 家具家電齊全 隨時入住 可長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5000', 'title': '軍博酷含,北蜂窩鄙早,會城門椅亚,57中限番,鐵東小區(qū)新上精裝一居呀舔,看房隨時'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1500', 'title': '房東直租 正規(guī)小區(qū) 獨門獨戶 一室一衛(wèi) 家電齊全 拎包入住'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7300', 'title': '學(xué)院路弥虐,八家嘉園,逸成東苑媚赖,城華園霜瘪,精裝2居室,業(yè)主出租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4600', 'title': '上地 安寧莊 當(dāng)代城市家園 精裝開間 隨時看房 隨時入住'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7800', 'title': '世紀(jì)城萬柳中關(guān)村蘇州橋 遠(yuǎn)大園六區(qū) 南北通透兩居室'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '3600', 'title': '建設(shè)部大院 3室1廳'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '11900', 'title': '頤慧佳園 2室2廳2衛(wèi)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '16000', 'title': '清華北大 附幼附小 華清嘉園 藍(lán)旗營精裝三居室 居家長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '1100', 'title': '個人直租 整租房 租金低 獨立衛(wèi)浴'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5100', 'title': '地震局宿舍 航天醫(yī)院 玉泉路地鐵 兩居室家電齊全免押金隨時看'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '12000', 'title': '人大陪讀 居家裝修 萬柳世紀(jì)城好房 緊靠地鐵10號線 隨時看'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '9000', 'title': '軍博 羊坊店 新華社 有色院 恩菲旁 兩居 全齊長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '強佑清河新城丨一居朝南丨丨五彩城丨小米總參丨人民醫(yī)院'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7700', 'title': '航天橋 阜成路8號院 海淀實驗小學(xué) 壕寤牵總旁精裝南北2居 長租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '13500', 'title': '中關(guān)村三小北校區(qū) 十號線巴溝 美中宜和 碧水云天 澗橋泊屋'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5200', 'title': '美麗園金雅園曙光花園頤慧佳園五福玲瓏居地鐵6 10 號線'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '5500', 'title': '五道口清華大學(xué) 八家嘉苑正規(guī)一居 看房方便 逸成東苑學(xué)清嘉創(chuàng)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6500', 'title': '永泰東里精裝修三居室 拎包入住 臨近永泰莊地鐵 隨時看'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '6500', 'title': '建材城西路27號 1室1廳1衛(wèi)'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4800', 'title': '柳浪家園 精裝一居 業(yè)主直簽 電梯入戶 隨時看 臨近紫成嘉園'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '7000', 'title': '五道口 清華 八家嘉苑 精裝大兩居 可合租'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '9000', 'title': '五道口清華東門 紅杉國際 一居室業(yè)主自用婚房底價了抓緊聯(lián)系'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '4000', 'title': '大牛坊頤豐莊園0中介隨時看房永豐基地地鐵永豐站用友新材料大廈'}
zufang pipelines
2018-12-18 22:28:44 [scrapy.core.scraper] DEBUG: Scraped from <200 http://bj.ganji.com/wblist/haidian/zufang/>
{'money': '11500', 'title': '中關(guān)村二小旁 科源 中關(guān)園 科育 東南小區(qū)精裝三居室老業(yè)主租'}
2018-12-18 22:28:44 [scrapy.core.engine] INFO: Closing spider (finished)
2018-12-18 22:28:44 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 460,
'downloader/request_count': 2,
'downloader/request_method_count/GET': 2,
'downloader/response_bytes': 45270,
'downloader/response_count': 2,
'downloader/response_status_count/200': 2,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2018, 12, 18, 14, 28, 44, 912665),
'item_scraped_count': 113,
'log_count/DEBUG': 116,
'log_count/INFO': 7,
'memusage/max': 67166208,
'memusage/startup': 67166208,
'response_received_count': 2,
'scheduler/dequeued': 1,
'scheduler/dequeued/memory': 1,
'scheduler/enqueued': 1,
'scheduler/enqueued/memory': 1,
'start_time': datetime.datetime(2018, 12, 18, 14, 28, 43, 625826)}
2018-12-18 22:28:44 [scrapy.core.engine] INFO: Spider closed (finished)
直到以上結(jié)果颖对,我們僅僅完成了管道前面部分的設(shè)置工作。先不要著急磨隘,我們把前面的部分梳理一下缤底。
步驟
- cd 到目標(biāo)目錄 然后創(chuàng)建項目
scrapy startproject + 項目名
- Pycharm打開項目名,然后在spiders目錄下創(chuàng)建你想要的py文件番捂,例如
ganji.py
个唧。
在這個文件里要import scrapy
,再然后定義一個父類為scrapy.Spider
的子類设预,諸如class GanjiSpider(scrapy.Spider):
徙歼,類中定義name
(字符串)和start_urls
(元素為網(wǎng)址字符串的列表)。 - 打開items.py鳖枕,在大類下面?zhèn)魅朐O(shè)置你要傳入的變量= scrapy.field魄梯。
import scrapy
class My1StProjectItem(scrapy.Item):
變量1 = scrapy.Field()
變量2 = scrapy.Field()
- 在settings.py中將ITEMS_PIPELINES行的字典去掉注釋,添加
項目名.pipelines.類名
并設(shè)置優(yōu)先級宾符。 - 在ganji.py下導(dǎo)入items中的類
from ..items import My1StProjectItem
在start_urls
下面定義parse(self,response)
方法:
將response中的元素抽取出來生成列表画恰。
將items中的類實例化給zf。
用zip函數(shù)挨個取出來賦給zf['變量1'],zf['變量2']……再yield
例如:
def parse(self, response):
#print(response) 僅供測試用
zf = My1StProjectItem()
title_list = response.xpath('.//div[@class="f-list-item ershoufang-list"]//dd[@class="dd-item title"]/a/text()').extract()
money_list = response.xpath('.//span[@class="num"]/text()').extract()
for i,j in zip(title_list,money_list):
zf['title'] = i
zf['money'] = j
yield zf
#print(i,":",j)
- 在pipeline.py中把
process_item(self, item, spider)
中的函數(shù)體重要怎么處理數(shù)據(jù)給規(guī)定好吸奴。
過程就已經(jīng)通了。下一步看看這么通過pipeline把數(shù)據(jù)插入到數(shù)據(jù)庫中來。
import pymysql
class My1StProjectPipeline(object):
def open_spider(self,spider):
self.con = pymysql.connect(host ='localhost',user = 'root',password = 'qwertyuiop',port = 3306,db = 'zufang')
self.cu = self.con.cursor()
def process_item(self, item, spider):
print(spider.name,'pipelines')
#insert_sql = f"INSERT INTO zufang (title,money) VALUES('{item['title']}'则奥,'{item['money']}')"
insert_sql = "INSERT INTO zufang (title,money) VALUES('{}', '{}')".format(item['title'],item['money'])
self.cu.execute(insert_sql)
self.con.commit()
return item
def spider_close(self,spider):
self.con.close()
相關(guān)知識點整理:
pipelines.py類結(jié)構(gòu)解析