下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
二、《基于Python的汽車數(shù)據(jù)爬取與分析》1課題內(nèi)容和要求問題的提出用Python語言自行編寫爬蟲框架或使用Scrapy框架,爬取汽車之家或易車網(wǎng)的車輛相關數(shù)據(jù),按照品牌、車系、年款、價格等信息進行分類和顯示。使用正那么表達式從網(wǎng)頁中提取有用的數(shù)據(jù)??梢詫崿F(xiàn)多線程爬取,以提高爬取效率。在此根底上可以進一步獲取用戶反應信息,評價不同車型的優(yōu)劣。1.2選題背景與意義在現(xiàn)在這種互聯(lián)網(wǎng)浪潮下,信息正在扮演越來越重要的角色。人們獲取信息,分析信息,利用信息。而怎樣快速便捷地獲取信息成為人們非常關注的問題。同時,隨著中國工業(yè)化水平和經(jīng)濟水平的提高,汽車成為家庭必需品。人們對汽車信息的需求也在不斷增大。在此背景下,我們選擇了“基于python的汽車信息爬取與分析〞這個課題,因為我們想要通過這次鍛煉切實地解決一個現(xiàn)實問題。1.3開發(fā)工具簡介運行環(huán)境如果要運行此軟件,用戶計算機必須有Python環(huán)境和Scrapy環(huán)境。開發(fā)環(huán)境本軟件基于Python3.6和Scrapy1.4開發(fā)Scrapy各組件版本號如下:Python:3.6.1(v3.6.1:69c0db5,Mar212023,17:54:52)pyOpenSSL:17.3.0(OpenSSL1.1.0f25May2023)開發(fā)工具Pycharm、cmder2需求分析2.1可行性分析技術可行性:python在爬蟲方面有資源和環(huán)境優(yōu)勢。易車網(wǎng)對爬蟲腳本比擬友好。操作可行性:Scrapy作為一個非常強大的爬蟲框架,有著它易用,高效的一面。同時由于Scrapy對于有python學習背景的人來說上手不算困難,故此工程可以用Scrapy來實現(xiàn)。2.2系統(tǒng)數(shù)據(jù)需求本系統(tǒng)最終將爬取到的數(shù)據(jù)以csv文件存儲在本地工程根目錄下,方便用戶通過excel軟件直接對數(shù)據(jù)進行查看和分析。2.3系統(tǒng)的性能需求此系統(tǒng)基于Scrapy框架,由于Scrapy默認支持多線程爬取,系統(tǒng)的性能根本可以到達要求。而稍后的測試結(jié)果也佐證了此結(jié)果。3概要設計3.1系統(tǒng)結(jié)構的總體設計3.2系統(tǒng)模塊設計基于scrapy,我們的工程分為4個模塊,分別是定義爬取數(shù)據(jù)模塊、爬取模塊、配置模塊和數(shù)據(jù)處理模塊。我們在item.py中CarItem類中定義要爬取的數(shù)據(jù),如品牌、車系、年款、價格等等。爬取模塊會直接引用該類創(chuàng)立的對象對數(shù)據(jù)進行保存。我們在pipelines.py中設置對爬取下來的數(shù)據(jù)的處理方式,比方存儲方式、過濾去重等操作。該文件從bitauto.py文件中獲取爬取到的信息,并進行相關處理。我們在settings.py中對工程進行一些必要設置,如優(yōu)先級、多線程、延遲等。同時在測試時,我們可以根據(jù)修改此文件的配置信息來控制變量測試相關因素對爬取效率的影響。bitauto.py是主要爬取方法實現(xiàn)的文件。分析網(wǎng)頁,獲取信息,跳轉(zhuǎn)頁面等等核心操作全部由此文件來實現(xiàn)。4詳細設計類圖:核心算法流程圖:核心操作全部在bitauto.py中實現(xiàn),故此局部主要描述bitauto.py的設計。具體實現(xiàn)采用面向過程的編程方法,具體到代碼那么是4個方法,分別是parse(),parse_detail(),parse_soft()和parse_word()方法。Parse()方法用于從主頁面獲取品牌信息列表,并生成相關車系鏈接并調(diào)用parse_detail()方法對車系頁面進行處理。分析源碼發(fā)現(xiàn)當前熱銷的汽車品牌保存在一個無序列表<ul>中。我們對此無序列表中的每個<li>標簽進行遍歷,獲取它的href屬性并生成絕對鏈接。在每生成一個鏈接之后,我們可以在yield語句中調(diào)用request方法進到下級頁面去獲取相關信息。Parse_detail()方法用于獲取某品牌的車系列表,并生成相關車輛具體信息頁面的URL,調(diào)用parse_soft()方法對車輛的詳情頁面進行處理。分析當前頁面源碼發(fā)現(xiàn)各種車型都被包裹在一個<div>標簽中。我們可以對此標簽下的<a>標簽進行獲取,并得到href屬性,這里得到的是相對鏈接,然后把它拼接成絕對鏈接,這樣我們就獲取到了每個車型的詳情頁面。同樣使用yield調(diào)用request方法可以進行下級頁面的分析。Parse_soft()方法爬取車輛的根本信息,包括品牌、車系、年款、價格和評分,并生成口碑鏈接調(diào)用parse_word()方法對車輛的口碑信息進行處理。此頁面的處理比擬簡單,我們需要的各種信息都以各種標簽的形式直接出現(xiàn)在源碼中,直接可以提取出來。然后獲取口碑鏈接以同樣的方法跳轉(zhuǎn)口碑頁面。Parse_word()方法用于獲取車輛的優(yōu)缺點和用戶評論,此方法是最后一個方法。此頁面中將優(yōu)點、缺點和評論分別放在一個<div>中,對<div>進行遍歷,即可得到相關數(shù)據(jù)。它們的調(diào)用關系是逐級調(diào)用。5測試數(shù)據(jù)及其結(jié)果分析為了測試爬取數(shù)據(jù)的正確性,我們設計爬取易車網(wǎng)當前熱銷的16款品牌下的所有車型,共計約500款,而我們對此爬取的結(jié)果與我們直接在網(wǎng)站上記錄的結(jié)果數(shù)目根本吻合,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣西來賓市忻城縣經(jīng)濟貿(mào)易局招聘編外人員4人考試備考題庫及答案解析
- 2026江蘇省數(shù)據(jù)集團中層管理崗位招聘1人考試參考試題及答案解析
- 2026海南儋州市市場監(jiān)督管理局招聘公益性崗位人員1人考試備考試題及答案解析
- 2026福建南平市公路應急保障中心招聘1人考試參考題庫及答案解析
- 2026云南省煙草專賣局(公司)畢業(yè)生招聘65人(第一批)考試備考試題及答案解析
- 2026年南陽淅川縣重點企業(yè)引進人才10名筆試備考題庫及答案解析
- 2026廣東梅州市梅縣區(qū)融媒體中心招聘見習人員考試參考題庫及答案解析
- 2026年甘肅隴南西和縣城鎮(zhèn)公益性崗位招聘96人筆試參考題庫及答案解析
- 2026河南漯河經(jīng)濟技術開發(fā)區(qū)公益性崗位招聘11人考試參考題庫及答案解析
- 2026廣西百色城市產(chǎn)業(yè)發(fā)展集團有限公司招聘19人考試參考題庫及答案解析
- DBJT15-101-2022 建筑結(jié)構荷載規(guī)范
- 2025年部編版新教材語文七年級上冊期末復習計劃
- 基于灰色模型下的經(jīng)濟發(fā)展生育意愿分析與預測
- 腸道屏障修復研究-洞察及研究
- 礦產(chǎn)企業(yè)管理辦法
- 2025秋季學期國開電大專本科《經(jīng)濟法學》期末紙質(zhì)考試名詞解釋題庫珍藏版
- 建筑設計防火規(guī)范-實施指南
- 2025國開《中國古代文學(下)》形考任務1234答案
- 研發(fā)公司安全管理制度
- 兒童口腔診療行為管理學
- 瓷磚樣品發(fā)放管理制度
評論
0/150
提交評論