999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Scrapy的招生信息專題搜索引擎研究

2022-01-20 13:29:24方錦文童樺茜
電子制作 2021年24期
關鍵詞:搜索引擎用戶信息

方錦文,童樺茜

(1.桂林電子科技大學信息科技學院,廣西桂林,541004;2.廣西城市建設學校,廣西桂林,541003)

0 引言

搜索引擎是一種專門在網絡上提供查詢服務的系統,它把分布在網絡上的信息資源進行收集、處理,然后經過整理后方便人們查詢。目前像百度和Google這樣的大型搜索引擎能為用戶提供海量的信息查詢服務,其查詢范圍遍布各行各業,基本可以滿足各個領域的信息橫向搜索。也正是因為這類通用搜索引擎所覆蓋領域廣闊,所以很難在搜索的同時兼顧到搜索的精準度。其價值在于對大量的分散信息做信息導航,對于信息量相對集中、分類類別更詳細的某一特定領域的信息檢索就會表現出其縱向搜索的局限性。

垂直搜索引擎的出現正是為了解決通用搜索引擎在特定領域下的搜索精度不高、主題偏移、搜索深度不夠等問題。垂直搜索引擎專注于某一類信息、專業領域、特定主題下的信息檢索,其追求的是專業性和檢索服務深度。對于大學招生信息主題的搜索引擎,則專注于提供各個學校招生信息、學校信息、招生專業等信息的檢索服務。

1 系統工作原理

系統主要由信息采集、信息預處理、信息檢索三部分組成。在信息采集部分,主要通過網絡爬蟲抓取因特網上的網頁數據的方式,用構建招生信息主題詞庫的過濾器過濾掉與招生信息不相關的網頁鏈接,然后把與招生信息相關的網頁信息存放到網頁庫中。在信息預處理部分通過索引器對對采集到的網頁庫建立索引方便系統查詢。信息檢索部分主要負責與用戶的直接對接,如圖1所示。

圖1 主題搜索引擎總體框架

用戶通過Web服務器界面接入系統,輸入要查詢的內容,檢索器與索引庫對接,在索引庫中搜索信息,用排序器對搜索結果進行排序處理后返回給用戶。

2 專題網絡爬蟲構建

■2.1 Scrapy爬蟲框架

Scrapy是基于 Python 實現的爬蟲框架,其架構清晰,模塊耦合度低[1]。可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中,簡單來說,Scrapy是一個可以爬取網站的數據,提取數據的框架。

Scrapy 框架組件及其中間件的功能如下[2]:

(1)Scrapy Engine(引擎):串聯框架各個模塊,觸發事務處理流程,控制數據流在系統中所有組件中流動。

(2)Scheduler(調度器):負責管理待抓取 URL 隊列。接受請求后返回下一個要爬取的鏈接。

(3)Downloader(下載器):向網站服務器發送訪問頁面請求,獲取頁面數據并提供給引擎。

(4)Spiders(爬蟲):爬取指定網站的數據內容,管理爬取規則和網頁解析規則等。

(5)Item Pipeline(項目管道):處理被spider提取出來的item,包括數據清洗、驗證及持久化(例如存取到數據庫中)等。

(6)Middlewares(中間件):包括下載器中間件(Downloader middlewares)和Spider中間件(Spider middlewares),處理引擎與下載器、爬蟲之間的請求及響應,其提供了一個簡便的機制,通過插入自定義代碼來擴展Scrapy功能。

Scrapy框架安裝完成后,便可創建自己的爬蟲項目,Scrapy爬蟲項目結構如圖2所示。

圖2 項目文件結構

各文件功能如下[3]:

(1)scrapy.cfg: 項目運行的參數設定。

(2)middlewares.py:爬蟲程序中間件。

(3)items.py: 項目中的item文件,管理待抓取的一些信息。

(4)pipelines.py: 項目中的pipelines文件,對爬取的數據進行清洗。

(5)settings.py: 項目的設置文件。

(6)spiders: 放置spider代碼的目錄。

■2.2 專題爬蟲策略

為使抓取的網頁與高校信息主題相關度更高,本文采用知名度較高的高校招生網作為初始目標網站爬取數據。通過觀察目標網頁,在高校信息詳情頁部分,可以找到高校名字、類型、聯系電話、地址、簡介、招生計劃等信息,均包含在屬性值為class的li標簽中。可以先獲取一級頁面的列表頁信息,在根據列表頁中的詳情頁URL來獲取詳情頁的數據。

先在項目的全局性配置文件setting.py中,配置好項目的名稱、下載延遲、Scrapy執行的最大并發請求數等信息[4]。然后在數據模塊items.py文件中設置好要爬取的高校信息字段,然后通過scripy對目標網頁的高校信息頁面進行一級頁面的連接爬取和二級頁面的詳細內容。在scripy文件中,通過start_urls = []設置初始目標網站,通過allowed_domains = []設置允許爬取的范圍,在def parse()通過Xpath獲取到爬取的一級頁面的列表

標簽,通過遍歷列表
標簽獲得不同類型的高校目錄。從中提取高校信息詳情頁的href屬性,就可以獲取所有的高校信息詳情頁鏈接。然后就可以對每一個高校信息詳情頁進行數據爬取,利用Request請求,獲取服務器發回來的Respond響應后,用Xpath提取高校信息詳情頁中的
    標簽獲得
      標簽標簽中各個屬性的數據。如:高校名字、類型、聯系電話、地址、簡介、招生計劃等屬性。并且根據屬性所屬類別存入數據模塊items.py中構造的高校信息數據實體中,這就會產生一個高校信息實體,然后通過pipelines.py進行爬取高校數據的存儲。

      在數據處理模塊pipelines.py中定義對爬蟲爬取下來的數據進行過濾處理。對爬取到的信息中含有非法字符的數據進行清洗和過濾,在實際操作過程中,遇到了一些亂碼的文字,設置過濾條件即可過濾全部數據噪聲。過濾后的數據,就可以存放到數據庫中了,本文將爬取的數據利用pymysql存儲到MySQL數據庫中。如圖3所示。

      圖3 數據庫表中的爬取數據

      3 基于Rocchio模型的相關反饋

      ■3.1 相關反饋基本概念

      用戶實際進行查詢操作時,對自己信息需求的描述方式,可能會與本來想要表達的意思有一定的出入,這樣系統在按用戶輸入的描述進行檢索的過程中,檢索結果中也許會出現很多用戶并不關心的信息,而用戶本來比較感興趣的一部分信息卻被忽視掉。為了讓這些沒有被描述過的信息在檢索結果中的重要性提升,就需要一個反饋的機制。

      一個理想的檢索結果應該是用戶感興趣的內容最多,而用戶不感興趣的內容最少。但是這樣的理想情況是不可能一次實現的,要想得到讓用戶滿意的檢索結果,必須通過若干次的反饋過程。

      ■3.2 Rocchio反饋算法

      Rocchio算法提供了一種將相關反饋信息融入到向量空間模型的方法,是實現相關反饋的一個經典算法[5]。它的基本思想是將用戶需求表示為一個向量,根據用戶的反饋情況來動態調整向量中每一維的關鍵詞的權重來使得向量更接近用戶想要的理想查詢。

      D是文檔集合,包括所有相關和不相關的文檔。我們想要的,是找到一個最優的查詢向量q,使得q與相關文檔的相似度最大并且與不相關的文檔的相似度最小,如下:

      Rocchio經過推導計算可以得到一種常見修正形式如下:

      公式(2)中引入了可變參數α、β、γ,來調控修改結果和原始向量之間的平衡,讓公式更具有普遍適用性。在實際使用中,正反饋往往比負反饋更重要,因此在很多系統中會把參數設置成β>γ,甚至很多系統都只允許進行正的反饋,即γ=0。一種在性能上比較穩定的方法是只對檢索結果中排名最高的不相關文檔進行負反饋,如下:

      Rocchio算法要求用戶對檢索結果進行相關性評價,我們可以詢問用戶檢索結果是否相關,讓系統進行自動修正,但是更多情況下,用戶并不會耐心閱讀檢索出來的所有文檔,也不一定會對文檔進行直接的相關性評價。不過我們可以通過分析用戶閱讀文檔時的一些操作,間接得到用戶對文檔的評價,如:

      (1)若用戶反復閱讀某一個文檔,即文檔的被點擊次數較多,則用戶對這個文檔感興趣。

      (2)若用戶下載某個文檔,說明用戶對這個文檔感興趣。

      (3)若用戶長時間閱讀某個文檔,則認為用戶對這個文檔感興趣。

      (4)對于用戶沒有點擊訪問的文檔,則認為用戶對這個文檔不感興趣。

      (5)對于用戶點擊進入后很快離開的頁面,則認為用戶對這個文檔不感興趣。

      本文將高校名字、地址、類型、招生批次等數據作為Rocchio算法中的向量,然后根據用戶的時間使用情況動態調整。用戶相關性向量模型不必根據用戶每次的閱讀行為進行調整,我們可以搜集一段時間內的反饋信息后再進行調整。這樣可以減輕系統壓力,也可以避免用戶行為的偶然性的反饋影響。

      4 結束語

      本文基于Scrapy框架設計了一個高校招生信息主題的垂直搜索引擎。利用 Scrapy 爬蟲框架以及Pythn語言擴展庫實現了網頁數據的爬取,針對用戶輸入查詢詞不明確的情況,本文還對基于Rocchio算法的反饋模型進行了研究,為用戶提供更精確的搜索體驗。系統同時也有一些有待改進的地方,比如數據分類存儲優化,Rocchio算法參數的優化等,這些都是需要進一步進行研究的內容。

      猜你喜歡
      搜索引擎用戶信息
      訂閱信息
      中華手工(2017年2期)2017-06-06 23:00:31
      關注用戶
      商用汽車(2016年11期)2016-12-19 01:20:16
      關注用戶
      商用汽車(2016年6期)2016-06-29 09:18:54
      關注用戶
      商用汽車(2016年4期)2016-05-09 01:23:12
      網絡搜索引擎亟待規范
      中國衛生(2015年12期)2015-11-10 05:13:38
      如何獲取一億海外用戶
      創業家(2015年5期)2015-02-27 07:53:25
      展會信息
      中外會展(2014年4期)2014-11-27 07:46:46
      基于Nutch的醫療搜索引擎的研究與開發
      廣告主與搜索引擎的雙向博弈分析
      搜索,也要“深搜熟濾”
主站蜘蛛池模板: 亚洲人成网址| 婷婷亚洲视频| 国产丰满大乳无码免费播放| 永久免费av网站可以直接看的| 国产在线精品人成导航| 国产成人免费观看在线视频| 2021最新国产精品网站| 免费AV在线播放观看18禁强制| 久久窝窝国产精品午夜看片| 亚洲国产成人无码AV在线影院L| 国产特级毛片aaaaaa| 欧美黑人欧美精品刺激| 亚洲国产欧美国产综合久久 | 成人无码区免费视频网站蜜臀| 欧美亚洲一区二区三区导航| 免费激情网址| 欧美无遮挡国产欧美另类| 欧美a级完整在线观看| 亚洲欧美日韩另类在线一| 日韩小视频在线观看| 日韩国产 在线| 国产精品无码翘臀在线看纯欲| 国产精品自拍露脸视频| 在线看AV天堂| 99精品国产电影| 污网站在线观看视频| 一级一级一片免费| 91视频精品| 在线视频亚洲色图| 91久久国产综合精品| 福利视频99| 另类专区亚洲| 亚洲av无码久久无遮挡| 91精品啪在线观看国产91| 91精品啪在线观看国产60岁| 国产手机在线小视频免费观看| 久久人人97超碰人人澡爱香蕉| 毛片大全免费观看| 伦伦影院精品一区| 亚洲无码高清一区| 亚洲精品亚洲人成在线| 69国产精品视频免费| 大乳丰满人妻中文字幕日本| 亚洲国产综合精品中文第一| 色呦呦手机在线精品| 国产女同自拍视频| 思思热精品在线8| 制服丝袜一区| 99伊人精品| 欧美日韩免费观看| 蜜芽一区二区国产精品| 欧洲高清无码在线| 99久久人妻精品免费二区| 五月丁香在线视频| 免费毛片在线| 日韩欧美中文在线| 国产手机在线ΑⅤ片无码观看| 国产成人无码综合亚洲日韩不卡| 在线视频亚洲欧美| 国产成本人片免费a∨短片| 性视频久久| 久久精品人妻中文系列| 一边摸一边做爽的视频17国产| 欧美精品亚洲日韩a| 先锋资源久久| 天天婬欲婬香婬色婬视频播放| 国产办公室秘书无码精品| 色爽网免费视频| 国产精品女熟高潮视频| 在线观看国产精品一区| 一区二区午夜| 久久久久免费精品国产| 亚洲三级a| 国产欧美精品午夜在线播放| 国产高清在线精品一区二区三区| 青青青视频91在线 | 国产欧美在线观看一区| www.狠狠| 国产午夜一级毛片| 992tv国产人成在线观看| 亚洲久悠悠色悠在线播放| 亚洲综合经典在线一区二区|