• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于爬蟲(chóng)技術(shù)的圖書(shū)購(gòu)買(mǎi)推薦與比價(jià)策略研究

    2021-03-24 16:09:11盧江劉文正
    科技資訊 2021年1期

    盧江 劉文正

    摘? 要:在大數(shù)據(jù)背景下,大量數(shù)據(jù)的堆疊使人們?cè)谶M(jìn)行人工提取有效信息時(shí),存在諸多不便。網(wǎng)絡(luò)爬蟲(chóng)技術(shù)可以自動(dòng)完成網(wǎng)絡(luò)信息的收集和分析,從而方便用戶獲得有效信息。該文以圖書(shū)購(gòu)買(mǎi)推薦與比價(jià)策略的研究為重點(diǎn),主要介紹了lxml庫(kù)與Python相關(guān)技術(shù),以及圖書(shū)比價(jià)的策略特點(diǎn),為用戶提供更直觀的商品指標(biāo),同時(shí)存儲(chǔ)商品信息為后續(xù)的進(jìn)一步優(yōu)化提供數(shù)據(jù)源。

    關(guān)鍵詞:爬蟲(chóng)技術(shù)? lxml? Python? 比價(jià)策略

    中圖分類號(hào):TP391.3???????????????????????? 文獻(xiàn)標(biāo)識(shí)碼:A?????????????????? 文章編號(hào):1672-3791(2021)01(a)-0214-06

    Research on the Strategy of Book Purchase Recommendation and Price Comparison Based on Crawler Technology

    LU Jiang? LIU Wenzheng*

    (Tianjin University of Commerce, Boustead College, Tianjin, 300384 China)

    Abstract: In the background of big data, the stacking of a large number of data makes it inconvenient for people to extract effective information manually. Web crawler technology can automatically complete the collection and analysis of network information so as to facilitate users to obtain effective information. This paper focuses on the research of book purchase recommendation and price comparison strategy, mainly introduces the lxml and python related technology, as well as the characteristics of book price comparison strategy in order to provide users with more intuitive commodity indicators, while storing commodity information to provide data sources for subsequent further optimization.

    Key Words: Crawler technology; Lxml; Python; Price comparison strategy

    隨著互聯(lián)網(wǎng)科技的飛速發(fā)展,在淘寶、京東、亞馬遜、當(dāng)當(dāng)網(wǎng)、中國(guó)圖書(shū)網(wǎng)等購(gòu)物平臺(tái)上,由于圖書(shū)資源匯總不全面而導(dǎo)致消費(fèi)者耗費(fèi)大量的時(shí)間、精力在各大平臺(tái)自我進(jìn)行性價(jià)比分析的問(wèn)題也逐漸顯露。這些平臺(tái)對(duì)圖書(shū)的分析推薦有所欠缺,不夠全面從而導(dǎo)致消費(fèi)者耗費(fèi)大量時(shí)間、精力,尤其是學(xué)生黨和上班族對(duì)于這一塊的圖書(shū)高效選擇需求尤為突出。

    1? 爬蟲(chóng)技術(shù)概述

    1.1 Python語(yǔ)言簡(jiǎn)介

    Python是一種跨平臺(tái)的計(jì)算機(jī)編程語(yǔ)言,是一種具有高級(jí)解釋性、交互性、可編譯性和面向?qū)ο笮缘恼Z(yǔ)言。我們可以就像在讀英語(yǔ)一樣讀一個(gè)很好的Python代碼,它可以讓你找出解決問(wèn)題的方法,而不是去解決語(yǔ)言本身。它最初被設(shè)計(jì)用于編寫(xiě)自動(dòng)腳本,隨著版本更新和新功能的加入,它越來(lái)越多地用于獨(dú)立、大型項(xiàng)目的開(kāi)發(fā)。

    1.2 網(wǎng)絡(luò)爬蟲(chóng)定義

    網(wǎng)絡(luò)爬蟲(chóng)又被稱為網(wǎng)絡(luò)蜘蛛和網(wǎng)絡(luò)機(jī)器人,是一種能自動(dòng)采集互聯(lián)網(wǎng)信息的程序或腳本。爬蟲(chóng)的主要目的是從網(wǎng)絡(luò)上提取相關(guān)的信息保存在本地形成一個(gè)多維的數(shù)據(jù)庫(kù)用來(lái)做出更好的數(shù)據(jù)模型。

    1.3 工作原理

    (1)首先獲取初始URL。初始URL地址可以由用戶指定,也可以從幾個(gè)初始爬網(wǎng)頁(yè)人為地指定或確定。

    (2)根據(jù)初始URL抓取頁(yè)面來(lái)獲取新URL。獲取初始URL地址后,首先需要對(duì)相應(yīng)URL地址中的頁(yè)面進(jìn)行爬取,爬取了相應(yīng)頁(yè)面之后,將頁(yè)面存儲(chǔ)在數(shù)據(jù)庫(kù)中,同時(shí)新的頁(yè)面進(jìn)行爬取,然后查找新的URL地址,并在列表中存儲(chǔ)爬取到的URL地址,用于判斷是否爬取網(wǎng)頁(yè)重復(fù)并且確定爬取過(guò)程。

    (3)將新URL放入U(xiǎn)RL隊(duì)列中。

    (4)從URL隊(duì)列中讀取新URL,根據(jù)新URL對(duì)頁(yè)面進(jìn)行爬取,從新網(wǎng)頁(yè)中獲取新URL,然后重復(fù)上述爬取過(guò)程。

    (5)滿足Python系統(tǒng)設(shè)定的停止條件時(shí)停止爬行。當(dāng)寫(xiě)Python代碼時(shí),通常會(huì)設(shè)置停止條件。如果未設(shè)置停止條件,Python將不停地爬取網(wǎng)頁(yè),直到新的URL地址無(wú)法獲取;如果設(shè)置了停止條件,則Pyhton將在滿足該條件時(shí)停止爬取。

    2? 技術(shù)實(shí)現(xiàn)

    2.1 技術(shù)路線

    技術(shù)實(shí)現(xiàn)的主要技術(shù)路線見(jiàn)圖1。

    2.2 基于lxml的信息爬取系統(tǒng)設(shè)計(jì)

    2.2.1 lxml概述

    lxml工具包用于libxml2和libxslt的Pythonic綁定。它的獨(dú)特之處在于它結(jié)合了各種所需庫(kù)的速度和XML功能完整性與本機(jī)PythonAPI的簡(jiǎn)單性,但由于眾所周知的ElementTreeAPI的優(yōu)勢(shì),因此lxml工具包被廣泛使用。lxml工具包的整體架構(gòu)情況見(jiàn)圖2。

    ml.etree是一個(gè)處理XML的很快的庫(kù)。但是在將強(qiáng)大的libxml2庫(kù)映射到簡(jiǎn)單方便的ElementTree API時(shí),需要注意一些問(wèn)題。并非所有操作都像API建議的那樣快,而一些用例可以從找到正確的操作方法中獲益匪淺?;鶞?zhǔn)頁(yè)面與其他 ElementTree實(shí)現(xiàn)進(jìn)行比較,并提供了許多性能調(diào)整提示。與任何Python應(yīng)用程序一樣,經(jīng)驗(yàn)法則是:在C中運(yùn)行的處理更快。另請(qǐng)參閱系統(tǒng)設(shè)計(jì)部分。

    2.2.2 Xpath概述

    Xpath是XML路徑語(yǔ)言,用于標(biāo)識(shí)XML文檔中的特定位置。Xpath基于XML的樹(shù)形結(jié)構(gòu),并且提供樹(shù)形結(jié)構(gòu)數(shù)據(jù)中的定位節(jié)點(diǎn)的能力。同樣的,Xpath也支持HTML,因?yàn)镻yhton通常從HTML頁(yè)面中爬取,而HTML網(wǎng)頁(yè)與XML一樣,都是樹(shù)形狀結(jié)構(gòu)。Python的目的是獲取數(shù)據(jù),但是這些數(shù)據(jù)通常不是頁(yè)面的全部數(shù)據(jù),因此獲取指定的數(shù)據(jù)需要數(shù)據(jù)匹配。常見(jiàn)的匹配技術(shù)包括Python自己的正則表達(dá)式類庫(kù)(re),但正則匹配不能完全保證與指定的數(shù)據(jù)節(jié)點(diǎn)匹配,表達(dá)式的編寫(xiě)也很復(fù)雜。Xpath語(yǔ)言簡(jiǎn)化了匹配表達(dá)式的編寫(xiě),并且具有較高的成功率。Python語(yǔ)言能夠很好地支持Xpath,lxml和Xpath的組合使Python爬取更高效可靠。Xpath的解析原理見(jiàn)圖3。

    3? 技術(shù)特色與創(chuàng)新性

    在日常生活中,很多人因?yàn)椴恢朗裁促?gòu)物平臺(tái)有自己所需要的資料,就盲目下載或?yàn)g覽各種軟件或網(wǎng)站。而該文設(shè)計(jì)的方案是可以直接根據(jù)用戶搜索的圖書(shū),呈現(xiàn)最優(yōu)的圖書(shū)排名及對(duì)應(yīng)的平臺(tái),此時(shí)用戶就可以針對(duì)性下載以及查找。

    同時(shí)可以直接呈現(xiàn)出性價(jià)比的結(jié)果,不用用戶一而再、再而三地去花時(shí)間進(jìn)行對(duì)比分析。

    “基于爬蟲(chóng)技術(shù)的圖書(shū)購(gòu)買(mǎi)推薦與比價(jià)策略研究”進(jìn)行了很好的圖書(shū)匯總處理,主要針對(duì)人群是學(xué)生黨和上班族,他們因?yàn)楣ぷ骰驅(qū)W習(xí)的原因,沒(méi)有大量的時(shí)間耗費(fèi)在查找學(xué)習(xí)資料上,為此很多人因?yàn)閳D書(shū)沒(méi)有針對(duì)性導(dǎo)致事倍功半、勞心勞力也沒(méi)達(dá)到自己想要的預(yù)期效果。

    該文介紹了通過(guò)廣度優(yōu)先網(wǎng)絡(luò)爬蟲(chóng)對(duì)淘寶、京東、中國(guó)圖書(shū)網(wǎng)等平臺(tái)上的圖書(shū)資源匯總分析,再到數(shù)據(jù)可視化的對(duì)比過(guò)程。主要通過(guò)用戶在搜索的時(shí)候,可以選擇輸入書(shū)名或者作者名,網(wǎng)頁(yè)就會(huì)呈現(xiàn)出經(jīng)過(guò)性價(jià)比分析后的最優(yōu)圖書(shū)。除此以外,我們會(huì)根據(jù)關(guān)鍵詞,推薦出評(píng)價(jià)最好、價(jià)格適中的圖書(shū)。更方便學(xué)生黨和上班族的學(xué)習(xí)需求,提高了買(mǎi)書(shū)的效率。

    4? 系統(tǒng)設(shè)計(jì)

    4.1 多線程的使用

    多線程類似于同時(shí)執(zhí)行多個(gè)不同程序,多線程可以把占據(jù)任務(wù)過(guò)程時(shí)間較長(zhǎng)的程序放到后臺(tái)去處理,這樣可以加快處理一些正在等待的任務(wù),如用戶輸入輸出、文件的讀寫(xiě)和網(wǎng)絡(luò)接受發(fā)送數(shù)據(jù)等。在一些等待的情況下我們可以釋放資源,如內(nèi)存占用等。在爬蟲(chóng)設(shè)計(jì)中,如果使用單線程技術(shù),那么在進(jìn)行巨大的爬取工作時(shí),逐行執(zhí)行將會(huì)占用非常長(zhǎng)的時(shí)間,但是當(dāng)引用了多線程技術(shù),那就類似于同時(shí)運(yùn)行了多個(gè)爬蟲(chóng)程序?qū)W(wǎng)頁(yè)進(jìn)行爬取,會(huì)極大地提升網(wǎng)頁(yè)的爬取速度。在該程序中我們使用了3個(gè)線程來(lái)運(yùn)行,在測(cè)試過(guò)程中節(jié)省了很多時(shí)間。

    4.2 反爬蟲(chóng)機(jī)制的機(jī)制分析

    在網(wǎng)絡(luò)請(qǐng)求中,User-Agent是客戶端表明身份的一種標(biāo)識(shí);在服務(wù)器中,可以判斷User-Agent是否為瀏覽器行為。當(dāng)我們使用代碼進(jìn)行爬蟲(chóng)時(shí),如果對(duì)方服務(wù)器中需要瀏覽器標(biāo)識(shí)User-Agent時(shí),但是在自己的代碼中沒(méi)有添加瀏覽器標(biāo)識(shí)時(shí),那么這段代碼的請(qǐng)求不會(huì)通過(guò),并且將返回403錯(cuò)誤碼。

    在許多購(gòu)物網(wǎng)站中,為了防止爬蟲(chóng)機(jī)器人在短時(shí)間內(nèi)進(jìn)行大量網(wǎng)絡(luò)資源的訪問(wèn),所以在其網(wǎng)頁(yè)中,經(jīng)常都引用反爬蟲(chóng)機(jī)制來(lái)禁止這種行為。在測(cè)試過(guò)程中,分別使用postman軟件和Microsoft Edge瀏覽器同時(shí)訪問(wèn)相同的網(wǎng)頁(yè),在postman中獲得的返回碼雖然是200,但是獲取的源代碼卻比Microsoft Edge瀏覽器中的代碼少了很多,說(shuō)明這個(gè)網(wǎng)頁(yè)設(shè)置了反爬蟲(chóng)機(jī)制。

    所以為了應(yīng)對(duì)反爬蟲(chóng)機(jī)制,經(jīng)常設(shè)置一個(gè)header值來(lái)模擬瀏覽器行為,通常每個(gè)瀏覽器都有不同的代碼,在此舉幾個(gè)例子:谷歌chrome瀏覽器:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36;Microsoft Egde瀏覽器:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299。但是在個(gè)別網(wǎng)頁(yè)中,同一個(gè)瀏覽器、IP地址下短時(shí)間內(nèi)發(fā)送大量的數(shù)據(jù)也是會(huì)被禁止訪問(wèn),因此我們?cè)诖伺老x(chóng)中引用了fake-useragent庫(kù),其包含了10種瀏覽器的識(shí)別代碼,在使用中,可以固定一種瀏覽器,也可以直接使用random參數(shù)。在爬取數(shù)據(jù)過(guò)程中,最重要的就是可以隨機(jī)使用頭文件,這樣將大大減少了被禁止訪問(wèn)的風(fēng)險(xiǎn),同時(shí)減少了代碼量。

    4.3 lxml解析器的應(yīng)用

    (1)lxml。對(duì)于瀏覽器的爬取需要使用解析器來(lái)解析網(wǎng)頁(yè),在爬蟲(chóng)中,通常使用BeautifulSoup庫(kù)和lxml庫(kù)來(lái)解析網(wǎng)頁(yè),因?yàn)锽eautifulSoup需要加載整個(gè)網(wǎng)頁(yè)的文檔數(shù)來(lái)進(jìn)行查詢匹配操作,所以會(huì)占用較多的資源,降低運(yùn)行速度,而對(duì)于lxml庫(kù),它同時(shí)支持HTML、XML和XPATH的解析,解析效率非常高,所以在此爬蟲(chóng)中使用了lxml庫(kù)。

    (2)XPath。全名為全稱XML Path Language,或XML路徑語(yǔ)言,是一種查詢XML文檔中的信息的語(yǔ)言,最初用于搜索XML文檔,但它也適用于html類型的文檔搜索。XPath非常強(qiáng)大,它提供了一個(gè)非常簡(jiǎn)潔的Web源路徑選擇表達(dá)式,此外,它還提供了100多個(gè)內(nèi)置函數(shù),用于數(shù)字、時(shí)間匹配、字符串和序列、節(jié)點(diǎn)處理等,幾乎所有我們想要定位的節(jié)點(diǎn),都可以選擇XPath。

    爬蟲(chóng)在該系統(tǒng)中處于主導(dǎo)地位,因此lxml庫(kù)在本系統(tǒng)中發(fā)揮了重要的作用,對(duì)于3個(gè)網(wǎng)址的解析都使用了lxml中Xpath方法進(jìn)行路徑定位和分析。在網(wǎng)頁(yè)中使用開(kāi)發(fā)者模式打開(kāi)網(wǎng)頁(yè)元素界面,通過(guò)標(biāo)識(shí)符可以定位到需要爬取內(nèi)容的位置,經(jīng)過(guò)對(duì)比可以發(fā)現(xiàn)代碼位置的相同之處,如圖4所示,可以確定在淘書(shū)團(tuán)網(wǎng)站下搜索python關(guān)鍵字定位的第一本圖書(shū)。

    同時(shí)發(fā)現(xiàn)在搜索結(jié)果顯示中的結(jié)構(gòu)都是一樣的,所以可以直接使用代碼定位到其具體位置tree.xpath('//ul[@class="bigimg"]/li')下,并將其存儲(chǔ)在li_list中,并使用循環(huán)來(lái)遍歷所有

  • 目錄,讀取其中的數(shù)據(jù)進(jìn)行存儲(chǔ)。

    4.4 Requests的網(wǎng)絡(luò)請(qǐng)求方式

    Requests支持在python內(nèi)置模塊的基礎(chǔ)上進(jìn)行了高度的封裝,從而使得python進(jìn)行網(wǎng)絡(luò)請(qǐng)求時(shí),變得人性化,使用Requests可以輕而易舉地完成瀏覽器可有的任何操作。

    Requests庫(kù)支持HTTP連接保持和連接池、支持使用cookie保持會(huì)話、支持文件上傳、支持自動(dòng)響應(yīng)內(nèi)容的編碼、支持國(guó)際化的URL和POST數(shù)據(jù)自動(dòng)編碼。并且在內(nèi)置模塊的基礎(chǔ)上進(jìn)行了高度的封裝,使得python在進(jìn)行網(wǎng)絡(luò)請(qǐng)求時(shí),變得人性化,使Requests可以輕而易舉的使用代碼的方式完成瀏覽器的任何操作。Requests.get(url,header)語(yǔ)句打開(kāi)使用header中的useragent方式打開(kāi)一個(gè)網(wǎng)站的網(wǎng)址,并保持連接,直到數(shù)據(jù)處理完成。

    以淘書(shū)團(tuán)網(wǎng)址http://www.bookschina.com/book_find2/default.aspx?stp=%s&p=%s為例,對(duì)于程序開(kāi)始階段輸入的關(guān)鍵字和頁(yè)數(shù)分別由stp和p參數(shù)確定,在程序運(yùn)行過(guò)程中使用中經(jīng)過(guò)多線程的處理,將頁(yè)碼傳入進(jìn)來(lái),進(jìn)行自加一操作,即可實(shí)現(xiàn)自動(dòng)翻頁(yè)行為。

    4.5 數(shù)據(jù)處理的方法

    Pandas是基于NumPy的一個(gè)開(kāi)源庫(kù),該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。在Pandas中有兩種數(shù)據(jù)結(jié)構(gòu),即序列Series和數(shù)據(jù)框DataFrame。Series類似于Numpy中的一維數(shù)組,可通過(guò)索引標(biāo)簽的方式獲取數(shù)據(jù),具備索引的自動(dòng)對(duì)齊功能;DataFrame類似于Numpy中的二維數(shù)組,可以使用二維數(shù)組的函數(shù)和方法處理數(shù)據(jù)。Pandas是使Python成為強(qiáng)大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。

    在完成爬蟲(chóng)功能將文件保存下來(lái)之后,使用pandas庫(kù)對(duì)數(shù)據(jù)進(jìn)行處理。首先使用DataFrame()將“我愛(ài)淘書(shū).csv”轉(zhuǎn)換為二維數(shù)組。在查看未處理文件時(shí),發(fā)現(xiàn)爬取的數(shù)據(jù)中存在很多空行,所以使用lc.dropna(axis=0, how=‘a(chǎn)ny, inplace=True)代碼將空行刪除,axis表示刪除軸,即按行刪除或按列刪除,此時(shí)0表示的是按行刪除,how表示篩選方式,‘a(chǎn)ny,表示該行/列只要有一個(gè)以上的空值,就刪除該行/列,inplace表示是否直接在源文件中替換空行,true表示在源文件中進(jìn)行操作而不生成新的文件。

    用戶在進(jìn)行搜索圖書(shū)時(shí),可以選擇輸入書(shū)名或者作者名,網(wǎng)頁(yè)就會(huì)呈現(xiàn)出經(jīng)過(guò)性價(jià)比分析后的最優(yōu)圖書(shū)。既然要進(jìn)行比價(jià)操作,所以需要對(duì)爬取的文件進(jìn)行升序排列,將價(jià)格最優(yōu)惠的圖書(shū)放在上面,為使用者提供簡(jiǎn)單明了的閱讀。在這里使用sort_values(by="價(jià)格", ascending=True, inplace=True)語(yǔ)句,by定位要進(jìn)行操作的列;ascending的值為T(mén)rue時(shí)代表升序排列,為False時(shí)代表降序排列,inplace參數(shù)同刪除空行一樣,代表是否直接替換源文件。由于爬取數(shù)據(jù)較大,因此只對(duì)部分?jǐn)?shù)據(jù)進(jìn)行展示,具體見(jiàn)圖5、圖6。

    5? 結(jié)語(yǔ)

    從獲得的數(shù)據(jù)來(lái)看,優(yōu)先顯示價(jià)格較低的圖書(shū),同時(shí)顯示讀者比較關(guān)注的相關(guān)信息,如可以購(gòu)買(mǎi)到的平臺(tái)名,近期折扣活動(dòng),購(gòu)買(mǎi)鏈接,圖書(shū)簡(jiǎn)介等,該系統(tǒng)通過(guò)lxml庫(kù)、XPath等技術(shù)實(shí)現(xiàn)了利用關(guān)鍵詞進(jìn)行爬取資源的操作,對(duì)網(wǎng)絡(luò)上的圖書(shū)進(jìn)行比價(jià)策略研究,具有一定的實(shí)用性。

    參考文獻(xiàn)

    [1]?苻玲美.正則表達(dá)式在python爬蟲(chóng)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2019,15(25):253-254.

    [2]?羅安然,林杉杉.基于Python的網(wǎng)頁(yè)數(shù)據(jù)爬蟲(chóng)設(shè)計(jì)與數(shù)據(jù)整理[J].電子測(cè)試,2020(19):31,94-95.

    [3]?朱燕騰.Python的計(jì)算機(jī)軟件應(yīng)用技術(shù)分析[J].電腦編程技巧與維護(hù),2020(9):10-11,16.

    [4]?趙文杰,古榮龍.基于Python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)[J].河北農(nóng)機(jī),2020(8):65-66.

    [5]?曾燕清,陳志德,李翔宇.應(yīng)用樹(shù)結(jié)構(gòu)的Xpath自動(dòng)提取算法[J].福建電腦,2020,36(7):34-38.

    [6]?劉新鵬,高斌.利用Python和Pandas進(jìn)行學(xué)生成績(jī)處理[J].信息與電腦:理論版,2020,32(7):41-43.

    [7]?溫婭娜,袁梓梁,何詠宸,等.基于Python爬蟲(chóng)技術(shù)的網(wǎng)頁(yè)解析與數(shù)據(jù)獲取研究[J].現(xiàn)代信息科技, 2020,4(1):12-13,16.

    [8]?李培.基于Python的網(wǎng)絡(luò)爬蟲(chóng)與反爬蟲(chóng)技術(shù)研究[J].計(jì)算機(jī)與數(shù)字工程,2019,47(6):1415-1420,1496.

    [9]?何春燕,王超宇.基于python+pandas的數(shù)據(jù)分析處理應(yīng)用[J].數(shù)碼世界,2018(7):386.

    [10]蔡光波.面向主題的多線程網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西北民族大學(xué),2017.

    [11]王朝陽(yáng).基于Python的圖書(shū)信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué),2016.

    延长县| 渭南市| 济南市| 南华县| 临江市| 柳州市| 岐山县| 金堂县| 化隆| 铜梁县| 青铜峡市| 康平县| 嫩江县| 黎平县| 阿坝县| 白河县| 黎平县| 常熟市| 汉中市| 正镶白旗| 安图县| 宜宾县| 德昌县| 木里| 海南省| 波密县| 晋宁县| 嘉黎县| 长白| 阳新县| 武邑县| 阳曲县| 驻马店市| 山东省| 揭东县| 富民县| 修武县| 靖州| 武冈市| 丰镇市| 海城市|