Are you sure you want to delete this access key?
Legend |
---|
DVC Managed File |
Git Managed File |
Metric |
Stage File |
External File |
Legend |
---|
DVC Managed File |
Git Managed File |
Metric |
Stage File |
External File |
為了收集利用各筆調查資料發表的論著,我們透過多個管道蒐集衍生著作,包括:(1)請計畫主持人隨調查資料提供計畫之著作書目、(2)SRDA會員線上回報發表之著作、(3)工作人員定期對曾下載資料的會員發信調查、(4)以及主動查詢各大型文獻資料庫。
主動蒐集的程序包括:爬蟲、資料合併、歷史資料比對,後續的檔案則需要透過人工的核對,在核對的過程也同時在[Zotero建檔](#Zotero 登錄程序)(可透過網頁套件協助)。書目資料建檔完畢後,透過Zotero的匯出功能,輸出csv檔,放入up
資料夾中,後續可以使用python程式上傳到SRDA後台資料庫。
尋找本機的環境路徑
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
資料夾中,請先自行匯入本機端的mysql資料庫。
雖然目前SRDA的網站已可提供衍生書目的參考和搜尋,但因為網站資料庫的設計方式的不同,我們的書目資料的格式無法與其他書目軟體相同,也可能缺漏相關資訊,造成書目管理和分析上的限制。因此,在書目資訊的管理上,我們借助現成的開源軟體Zotero來管理衍生書目資訊。
若想直接透過單一程式檔執行,請參考executive
資料夾中的程式檔。
請先設置好下載路徑,透過以下語法可直接執行各平台的爬蟲程式,惟各計畫官網因為結構不同,沒辦法統一爬取,請搜尋以前的爬蟲程式來個別執行。本功能的維護請見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後台抓取特定叢集的下載紀錄,並刪去不需要寄送的清單-工作人員、拒絕收信的會員-以此作為會員調查的寄件清單。
bibl
庫not_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)
中文著作 | 英文著作 | ||||||
---|---|---|---|---|---|---|---|
一、資訊搜尋 | 範例 | 社經地位與體能活動之關連性:檢視生理、心理、社會需求的中介效果 | 成年子女與父母之代間矛盾:前因與後果 | 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(登陸號) | ||||||
三、匯出/ 匯入 | 匯出 | 點選資料庫 右鍵->匯出 選擇檔案格式 | 點選資料庫 右鍵->匯出 選擇檔案格式 | ||||
四、備註 | 標點符號 | 格式統一使用 | 格式統一使用 | ||||
文字格式 |
Press p or to see the previous file or, n or to see the next file
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?