Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel
Integration:  git github
hswei0 ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
b77939b015
readme調整
3 years ago
ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
doc
ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
src
ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
c2b5649ba4
套件化
3 years ago
ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
84523d5bfb
feat: 華藝爬蟲優化
1 year ago
0f82a59f66
2023 May week3 tasks (#12)
11 months ago
ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
ea569b7a58
完成期刊論文網爬蟲(NCL) (#18)
2 months ago
e2f175f1bd
上傳wos爬蟲結果 (#13)
8 months ago
7338464f3c
更新requirement.txt
2 months ago
e2f175f1bd
上傳wos爬蟲結果 (#13)
8 months ago
Storage Buckets

README.md

You have to be logged in to leave a comment. Sign In

衍生著作蒐集

為了收集利用各筆調查資料發表的論著,我們透過多個管道蒐集衍生著作,包括:(1)請計畫主持人隨調查資料提供計畫之著作書目、(2)SRDA會員線上回報發表之著作、(3)工作人員定期對曾下載資料的會員發信調查、(4)以及主動查詢各大型文獻資料庫。

Table of Contents

Getting Started

入庫流程

主動蒐集的程序包括:爬蟲資料合併、歷史資料比對,後續的檔案則需要透過人工的核對,在核對的過程也同時在[Zotero建檔](#Zotero 登錄程序)(可透過網頁套件協助)。書目資料建檔完畢後,透過Zotero的匯出功能,輸出csv檔,放入up資料夾中,後續可以使用python程式上傳到SRDA後台資料庫。

Installing

環境設定

尋找本機的環境路徑

import sys
print(sys.path)

bibl資料夾放入此位置後,即可透過import匯入

設置下載路徑

執行爬蟲等程式前等先設置好下載路徑和資料夾,以下語法將可以直接將所需要的資料夾和路徑設置完畢。

p = 'C:/Users/user/Desktop/xxx'
# 下載平台
systems = ['airi', 'ncl', 'ndltd', 'wb', 'wos']
dird = dirSet(p, systems)
dird.gen_dir()

匯入sql資料檔

相關的歷史資料和環境設置的資料放在交接檔案的sql資料夾中,請先自行匯入本機端的mysql資料庫。

安裝Zotero

雖然目前SRDA的網站已可提供衍生書目的參考和搜尋,但因為網站資料庫的設計方式的不同,我們的書目資料的格式無法與其他書目軟體相同,也可能缺漏相關資訊,造成書目管理和分析上的限制。因此,在書目資訊的管理上,我們借助現成的開源軟體Zotero來管理衍生書目資訊。

快速執行

若想直接透過單一程式檔執行,請參考executive資料夾中的程式檔。

Usage

主動搜尋爬蟲

請先設置好下載路徑,透過以下語法可直接執行各平台的爬蟲程式,惟各計畫官網因為結構不同,沒辦法統一爬取,請搜尋以前的爬蟲程式來個別執行。本功能的維護請見bibl.crawler.init的檔案,相關套件的連結都寫在裡面,若有問題請由此修改。

將前置參數設置完畢後,使用CrawlerSetting的功能輸入參數,之後依序執行個平台的爬蟲。最好分別執行,以利檢查錯誤。

碩博士論文網(NTLTD)有時候會有驗證碼檢驗機制-沒有撰寫應對方式-,請挑選上線人數較少時執行。

from bibl import crawler
# 搜尋引擎
driver = 'C:\\Users\\user\\Desktop\\bibl\\chrome83.exe'
# 下載資料夾
download_path = 'C:\\Users\\user\\Desktop\\xxx'
pwd =   # SQL密碼
dbname =   # 資料庫名
mycrawler = crawler.CrawlerSetting(driver, download_path, pwd, dbname)

華藝爬蟲

mycrawler.crawler_go('airi')

碩博士論文網爬蟲

mycrawler.crawler_go('ndltd')

期刊論文網爬蟲

mycrawler.crawler_go('ncl')

Web of Science爬蟲

mycrawler.crawler_go('wos')

透過以上爬蟲下來的資料會存在下載路經中各平台名稱的資料夾中,例如華藝的下載資料會存於airi的資料夾裡面。但這些都只是原始檔案需要再合併處理

爬蟲資料合併

透過merge_all功能,可以將爬蟲後的資料合併成相同格式,儲存於total資料夾中。

from pathlib import Path
from bibl.crawler.MergeTables import merge_all

# setting
systems = ['airi', 'ncl', 'ndltd', 'wb', 'wos']
# 下載路徑
download_path = 'C:\\Users\\user\\Desktop\\xxx'

# 批次執行
for s in systems:
    p = Path(download_path).joinpath(s)
    aa = merge_all(s, download_path)
    print('{} 以合併'.format(s))
    print(aa.head())

歷史資料比對

由過去已蒐集的衍生書目資料和排除庫,經過標題比對,剔除不需要比對的爬蟲資料,保留下來的檔案儲存於keep資料夾中,之後進行人工判讀後,存入Zotero。

from bibl.compare.comparing import CompareTitle
# 欲比對的資料集
df = pd.read_csv('airi_total.csv')
# 下載資料夾
download_path = 'C:\\Users\\user\\Desktop\\xxx'
pwd = '27871825'  # SQL密碼
dbname = 'bibl'  # 資料庫名
xx = CompareTitle(df, download_path, 'airi', pwd, dbname)
zz = xx.fullcompare()

上傳後台資料庫

先透過Zotero將核對完畢的書目資料輸出為csv,並將此檔案放入up資料夾。

將檔案放入up資料夾後,執行以下語法,就會將書目資料上傳至SRDA後台了,執行完畢請注意是否有重複登錄的狀況。

from bibl.upload.upBib import UploadBib

# gen bib data
# 上傳資料夾
upp = 'C:\\Users\\user\\Desktop\\2020\\up'
# 上傳檔案
dfn = 'wos.csv'

username =   # SRDA 後台帳號
password =  # SRDA 後台密碼
# 瀏覽器位置
driver_p = 'C:\\Users\\user\\Desktop\\bibl\\chrome83.exe'
up = UploadBib(driver_p)
# 清理格式
up.upFormat(upp, dfn)
# 執行上傳
up.exe(username, password)

更新排除庫

updateRemove功能會比對爬蟲的總資料跟最後上傳的資料,沒有使用的會被列入排除庫上傳至SQL。但要注意的是,本功能有時會故障,導致removed資料庫消失,因此最好使用前先備份

from pathlib import Path
from bibl.compare import gen_remove

pw =  # SQL 密碼
db =  # SQL資料庫名稱
p = Path('C:\\Users\\user\\Desktop\\2020') # 下載路徑
system = 'airi' # 文獻資料庫
gen_remove.updateRemove(p, system, pw, db)

生成會員調查清單

主要使用的程式為gen_maillist,透過這支程式可以至SRDA後台抓取特定叢集的下載紀錄,並刪去不需要寄送的清單-工作人員、拒絕收信的會員-以此作為會員調查的寄件清單。

  • 不需要寄送的清單建立在sql的biblnot_mail表,可以自行擴充和維護。
import os
from bibl.mail import gen_maillist  # 主程式

os.chdir('C:\\Users\\user\\Desktop\\bibl') ## 自訂路徑
# get the dataset
url = 'https://srda.sinica.edu.tw/manager_admin/index_login.php?sn_id=1'
username = SRDA後台名稱
password = 'SRDA密碼
start_date = '2018-01-01'
end_date = '2019-12-31'
pwd = SQL密碼
dbname = SQL資料庫名
clusterName = '台灣青少年成長歷程研究'  # 叢集名稱
driver_path = 'C:\\Users\\user\\Desktop\\bibl\\chrome83.exe'  # 瀏覽器路徑

email = mail(username, password, start_date, end_date, driver_path,
             clusterName, pwd, dbname)
df = email.exe(out=True)

登錄Zotero

中文著作 英文著作
一、資訊搜尋 範例 社經地位與體能活動之關連性:檢視生理、心理、社會需求的中介效果 成年子女與父母之代間矛盾:前因與後果 An Empirical Analysis of the Determinants of Perceived Inequality
二、登錄 項目類型 期刊文章 碩博士論文 會議論文 期刊文章 碩博士論文 會議論文
標題 文章題目 文章題目
作者 作者名若為中文,點選右方之,進行欄位切換,中文為同一欄(EX:莊倩儀) 作者名若為英文,點選右方之,進行欄位切換,英文分為兩欄(EX:Kim, Roeul)
摘要 文章摘要 Abstract
著作/類型 期刊名稱 碩/博士 會議名稱 期刊名稱 碩/ 博士 會議名稱
卷次/大學 42 輔仁大學兒童與家庭學系碩士班 Review of Income and Wealth
期號/所在地 1 新北市 65
1-16 93 2
日期 EX:2020/3/10 EX:06/2019
語言 zh-tw en
URL 連結網址 連結網址
Doi 10.1111/roiw.12351
ISSN 0034-6586,1475-4991
權利(用來登錄叢集) EX:TSCS(叢集縮寫)
額外增列(用來登錄登錄號) EX:C00155_2(登陸號)
三、匯出/ 匯入 匯出 點選資料庫 右鍵->匯出 選擇檔案格式 點選資料庫 右鍵->匯出 選擇檔案格式
四、備註 標點符號 格式統一使用 格式統一使用
文字格式

登錄欄位示意圖

Tip!

Press p or to see the previous file or, n or to see the next file

About

No description

Collaborators 1

Comments

Loading...