版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據挖掘技術DataMiningTechnology>>人工智能專業(yè)項目二:租房數據的采集與存儲實戰(zhàn)任務一任務介紹任務二使用BeautifulSoup框架采集存儲租房數據任務三使用scrapy框架采集存儲租房數據任務四租房數據預處理任務三使用scrapy框架采集存儲租房數據任務描述本任務在認識數據采集框架以及存儲方法后,使用scrapy將租房數據數據爬取并存儲成我們需要的格式。本項目將采集到的信息爬取出來保存于數據庫中,為后期進行數據可視化操作、制作網頁展示做鋪墊。這就是我們完成的第3個任務:使用scrapy框架采集存儲租房數據。目標——爬取58同城南寧租房數據并保存到創(chuàng)建的數據庫中。目標網站:/minsuduanzu/爬取“房源名稱”、“價格”兩個信息保存到創(chuàng)建的數據庫中。任務三2.3.1分析目標網站Scrapy安裝#命令行下使用pip安裝pipinstallscrapy#anaconda下使用conda安裝condainstall-cconda-forgescrapyWindows系統(tǒng)安裝#安裝以下依賴項sudoapt-getinstallpython3python3-devpython3-piplibxml2-devlibxslt1-devzlib1g-devlibffi-devlibssl-dev#終端下使用pip安裝pipinstallscrapyLinux系統(tǒng)安裝任務三2.3.2安裝scrapy并創(chuàng)建項目Scrapy安裝#終端預先安裝Xcode命令行工具xcode-select--install#終端下使用pip安裝pipinstallscrapyMacOS系統(tǒng)安裝任務三2.3.2安裝scrapy并創(chuàng)建項目#anaconda下使用conda安裝condainstall-cconda-forgescrapy任務三2.3.2安裝scrapy并創(chuàng)建項目任務三2.3.2
安裝scrapy并創(chuàng)建項目Scrapyshell使用用pycharm自帶的Terminal,打開pycharm后在底行有個Terminal:要爬取租房信息,輸入scrapyshellurl:/minsuduanzu/輸入后返回狀態(tài)和參數,輸入response也可以獲得狀態(tài)信息,返回200表示成功:任務三2.3.2
安裝scrapy并創(chuàng)建項目打開火狐瀏覽器,使用Xpath獲取要抓的內容——房源名稱、價格。任務三2.3.2
安裝scrapy并創(chuàng)建項目在命令提示符中輸入命令獲取所有房源名稱和價格response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[2]/div[1]/text()").extract()任務三2.3.2
安裝scrapy并創(chuàng)建項目在命令提示符中輸入命令獲取所有房源名稱和價格response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[3]/div[1]/div/span[1]/text()").extract()這樣就用scrapyshell獲取到所有名稱、價錢;同樣的,也可以通過改變xpath獲取其他內容。任務三2.3.3創(chuàng)建數據庫保存數據創(chuàng)建數據庫pycharm自帶很多數據庫圖形化工具,我們使用sqlite數據庫為了方便,我們直接用pychrm的Terminal在Terminal中進入項目,輸入ipython,使用python的命令行工具#ipython任務三2.3.3創(chuàng)建數據庫保存數據終端界面中輸入命令完成數據庫的創(chuàng)建。In[1]:importsqlite3In[2]:zufang=sqlite3.connect('zufang.sqlite')In[3]:create_table='createtablezufang(titlevarchar(512),pricevarchar(128))'In[4]:zufang.execute(create_table)任務三2.3.3創(chuàng)建數據庫保存數據這就完成創(chuàng)建數據庫了,接下來使用pycharm鏈接到sqlite數據庫,社區(qū)版pycharm安裝數據庫插件。任務三任務三任務三2.3.3創(chuàng)建數據庫保存數據點擊安裝,安裝完成點擊重啟PyCharm即可,重啟后在側邊欄出現DBBrowser。使用數據庫(sqlite)點開DBBrowser,然后點擊?+號添加數據庫連接,選擇SQLite。任務三2.3.3創(chuàng)建數據庫保存數據按下圖點擊紅框按鈕,添加數據庫文件。添加完數據庫文件,可以點擊TestConnection測試是否連接成功。任務三2.3.3創(chuàng)建數據庫保存數據下面彈窗說明連接成功。點擊確定開啟數據庫連接,在DBBrowser面板,找到自己創(chuàng)建的表。任務三2.3.4編寫爬蟲抓取“58同城租房小組”的數據,為用戶提供精準的房源定位。58同城網租房信息采集輸入要抓取的租房名稱。輸入關鍵字快速查詢58同城網租房。使用數據庫進行房源數據存儲。爬蟲功能要求:任務三2.3.4編寫爬蟲58同城網租房信息采集主要代碼我們要爬取租房信息,輸入scrapyshellurl,本項目中url是:/minsuduanzu/
我們在spiders目錄下創(chuàng)建python文件,文件名任意
我這里叫spiderspider.py文件:importscrapyfrom..itemsimportZufangItem任務三2.3.4編寫爬蟲爬蟲根據用戶設定的關鍵詞進行數據的爬取并保存:
#創(chuàng)建爬蟲類,繼承scrapy.SpiderclassGanJi(scrapy.Spider):#name,start_urls,parse這三個必須要有name="zufang"#用于區(qū)別Spider。該名字必須是唯一的,在終端用scrapylist會顯示當前項目爬蟲的數量start_urls=["/minsuduanzu/"]#包含了Spider在啟動時進行爬取的url列表。defparse(self,response):#解析返回的數據print(response)zf=ZufangItem()#定義一個item實體response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[2]/div[1]/text()").extract()#獲取房屋名稱response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[3]/div[1]/div/span[1]/text()").extract()#獲取房屋價錢fori,jinzip(title_list,price_list):zf['title']=izf['price']=jyieldzf任務三2.3.4編寫爬蟲爬蟲根據用戶設定的關鍵詞進行數據的爬取并保存:
items.py文件:##-*-coding:utf-8-*-
#Defineherethemodelsforyourscrapeditems##Seedocumentationin:#/en/latest/topics/items.html
importscrapy
classZufangItem(scrapy.Item):#definethefieldsforyouritemherelike:#name=scrapy.Field()title=scrapy.Field()price=scrapy.Field()#pass
任務三2.3.4編寫爬蟲爬蟲根據用戶設定的關鍵詞進行數據的爬取并保存:
pipelines.py文件:#-*-coding:utf-8-*-#Defineyouritempipelineshere##Don'tforgettoaddyourpipelinetotheITEM_PIPELINESsetting#See:/en/latest/topics/item-pipeline.htmlimportsqlite3classZufangPipeline(object):defopen_spider(self,spider):self.con=sqlite3.connect("zufang.sqlite")self.cu=self.con.cursor()defprocess_item(self,item,spider):print(,'pipelines')insert_sql="insertintomain.zufang(title,price)values('{}','{}')".format(item['title'],item['price'])print(insert_sql)self.cu.execute(insert_sql)mit()returnitemdefclose_spider(self,spider):self.con.close()
任務三2.3.4編寫爬蟲爬蟲根據用戶設定的關鍵詞進行數據的爬取并保存:
setting.py文件:#這個文件里要該一些東西,在67行:#}
#Configureitempipelines#See/en/latest/topics/item-pipeline.htmlITEM_PIPELINES={'zufang.pipelines.ZufangPipeline':300,}
#EnableandconfiguretheAutoThrottleextension(disabledbydefault)#See/en/latest/topics/autothrottle.html
任務三2.3.5項目運行展示終端輸入命令運行:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年田林縣招教考試備考題庫帶答案解析(奪冠)
- 2025年黃岡科技職業(yè)學院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 2024年突泉縣幼兒園教師招教考試備考題庫含答案解析(奪冠)
- 2025年內蒙古師范大學馬克思主義基本原理概論期末考試模擬題附答案解析(必刷)
- 2024年祁縣招教考試備考題庫含答案解析(奪冠)
- 2024年遼寧財貿學院馬克思主義基本原理概論期末考試題附答案解析(奪冠)
- 安全常識和安全技能培訓
- 2025云南建水供銷集團有限公司招聘4人筆試參考題庫附帶答案詳解
- 2025中移鐵通有限公司魯甸招聘10人筆試歷年備考題庫附帶答案詳解2套試卷
- 2025中海石油(中國)有限公司湛江分公司應屆畢業(yè)生招聘筆試歷年備考題庫附帶答案詳解2套試卷
- 中醫(yī)內科-郁病課件
- 焊接專業(yè)人才培養(yǎng)方案
- 第二屆全國技能大賽江蘇省選拔賽焊接項目評分表
- 糖尿病護士年終總結
- 第20課 《美麗的小興安嶺》 三年級語文上冊同步課件(統(tǒng)編版)
- 糖尿病基礎知識培訓2
- 手工藝品加工合同
- 研學旅行概論第六章
- GB/T 22176-2023二甲戊靈乳油
- 根據信用證制作商業(yè)發(fā)票、裝箱單、裝船通知
- GB/T 28046.4-2011道路車輛電氣及電子設備的環(huán)境條件和試驗第4部分:氣候負荷
評論
0/150
提交評論