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无码| 国产成人综合亚洲欧洲色就色| 亚洲欧美在线综合图区| 国产又爽又黄无遮挡免费观看| 亚洲精品动漫在线观看| 99精品高清在线播放| 伊人色婷婷| 亚洲最大福利视频网| 国产一级毛片高清完整视频版| 欧美色图久久| 九九热在线视频| 国产一级精品毛片基地| 亚洲第一成年免费网站| 国产不卡在线看| 一区二区三区精品视频在线观看| 国产精品丝袜在线| 久久情精品国产品免费| 99这里只有精品在线| 国产网站一区二区三区| 国产成人免费观看在线视频| 亚洲丝袜中文字幕| 亚洲国产91人成在线| 日韩福利在线观看| 国产在线97| 91毛片网| 日韩福利视频导航| 亚洲欧美日韩成人在线| 国产中文在线亚洲精品官网| 亚洲婷婷六月| 亚洲欧美国产视频| 日本道综合一本久久久88| 日本人又色又爽的视频| 热re99久久精品国99热| 99视频精品全国免费品| 日日拍夜夜嗷嗷叫国产| 亚洲欧洲AV一区二区三区| 97在线国产视频| 亚洲一区二区三区国产精品| 日本免费高清一区| 国产精品永久久久久| 久久婷婷五月综合色一区二区| 伊人蕉久影院| 99资源在线| 999国产精品| 国产特一级毛片| 欧美另类视频一区二区三区| 国产成人免费高清AⅤ| 免费看a级毛片| 欧美日本激情| 怡春院欧美一区二区三区免费| 亚洲国产欧美国产综合久久| 91久久精品日日躁夜夜躁欧美| 青青草欧美| 亚洲综合色吧| 好紧好深好大乳无码中文字幕| 精品中文字幕一区在线| 成人自拍视频在线观看| 国内熟女少妇一线天| 国产va在线观看免费| 青青久视频| 亚洲国产中文欧美在线人成大黄瓜 | 一区二区影院| 久久伊人操| 亚洲香蕉在线| 国产精欧美一区二区三区| 亚洲男人天堂网址| 国产毛片不卡| 国产在线拍偷自揄拍精品| 九九九国产| 麻豆国产精品一二三在线观看| 免费xxxxx在线观看网站| 99久久精品免费观看国产| 福利在线一区| 精品自窥自偷在线看| 久久99国产精品成人欧美| 蜜桃视频一区| 中国国产一级毛片| 中文字幕在线播放不卡| 成·人免费午夜无码视频在线观看 | 国产凹凸一区在线观看视频| 亚洲国产精品成人久久综合影院| 国产 在线视频无码|