depth-crawler-python三級(jí)頁面定向爬取
depth-crawler 是一個(gè)三級(jí)頁面定向爬取工具。
功能
1.在python中運(yùn)用scrapy框架定向爬取至三級(jí)頁面,保存html頁面內(nèi)容與鏈接為xlsx表格
2.將xlsx表格內(nèi)容存至elasticsearch中
3.elasticsearch查詢的時(shí)候運(yùn)用ik分詞
4.在python中運(yùn)用flask框架寫前端頁面呈現(xiàn)搜索頁面和搜索的信息內(nèi)容
5.查詢結(jié)果高亮顯示
安裝說明
首先安裝python用于編輯代碼,然后安裝jdk環(huán)境用于后續(xù)安裝elasticsearch,elasticsearch數(shù)據(jù)庫對(duì)爬取下來的數(shù)據(jù)進(jìn)行處理。npm 是隨同 node.js 一起安裝的包管理工具,用于node.js插件管理(包括安裝、卸載、管理依賴等),elasticsearch-head是elasticsearch用于監(jiān)控 Elasticsearch 狀態(tài)的客戶端插件,包括數(shù)據(jù)可視化、執(zhí)行增刪改查操作等,使用JavaScript開發(fā)的依賴于Node.js
1.python(3.8.10)打開cmd輸入python,有版本號(hào)說明安裝成功
2.jdk(1.8.0_241)注意環(huán)境變量的配置,打開cmd輸入java -version,有版本號(hào)說明安裝成
3.elasticsearch(6.8.21)找到elasticsearch.bat啟動(dòng)成功后,在瀏覽器中輸入(localhost:9200)出現(xiàn)如圖便安裝成
3.1.nodejs(v16.17.0)找到elasticsearch.bat啟動(dòng)成功后,在瀏覽器中輸入(localhost:9200)出現(xiàn)如圖便安裝成功
3.2.elasticsearch-head(6.8.21)與elasticsearch版本一致(head插件的安裝和基本使用)通過elasticsearch-head-master打開命令行,輸入(grunt server)
4.擴(kuò)展庫部分 ——pip install 庫名==版本號(hào) (可以在cmd中輸入pip list 查看所有的版本號(hào))
4.1.flask(2.1.2)——使用 Python用于編寫web應(yīng)用的框架
在cmd中輸入(pip install flask),指定版本號(hào)的話輸入(pip install flask==2.1.2)
4.2.scrapy(2.6.1)——用于爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)
4.3.elasticsearch(7.15.2)——用于搜索信息
4.4.pandas(1.4.1)——用于處理表格數(shù)據(jù)
4.5.openpyxl(3.0.9)——可用于讀寫excel表格
4.6.XlsxWriter(3.0.3)——用于創(chuàng)建Excel XLSX文件
啟動(dòng)流程
elasticsearch:
1.在"elasticsearch"的文件夾下打開“bin文件夾然后雙擊"elasticsearch.bat"開始運(yùn)行
2.在"elasticsearch"的文件夾下打開“head"文件夾下的"elasticsearch-head-master"復(fù)制路徑(D:\\ES\\elasticsearch-6.8.21\\head\\elasticsearch-head-master)打開cmd進(jìn)入路徑下輸入命令(grunt server)
效果瀏覽
elasticsearch:
1.打開瀏覽器輸入(http://localhost:9200/)訪問端口
2.打開瀏覽器輸入(http://localhost:9100/)可看到elasticsearch數(shù)據(jù)庫中信息
前端 :
1.運(yùn)行(route.py)在瀏覽器中訪問第一個(gè)路由(http://127.0.0.1:5000/search)可看到搜索頁面
2.在搜索框中輸入搜索內(nèi)容(如:紡織)可出現(xiàn)相關(guān)信息,在最后也有分頁效果
3.點(diǎn)擊標(biāo)題和內(nèi)容部分會(huì)返回原網(wǎng)址
4.點(diǎn)擊快照會(huì)進(jìn)去html頁面
5.每條內(nèi)容回根據(jù)點(diǎn)擊次數(shù)提高排名,在瀏覽器中輸入(http://127.0.0.1:5000/restore)排名恢復(fù)原樣
