以下是一个示例代码,用于根据DOI号采集论文全文PDF并保存到本地,并将相关数据写入Excel文件。

import requests
import os
import openpyxl

# 设置保存路径
save_dir = "pdfs/"
if not os.path.exists(save_dir):
    os.makedirs(save_dir)

# 读取Excel文件
workbook = openpyxl.load_workbook("metadata.xlsx")
worksheet = workbook.active

# 获取数据项所在的列号
columns = {}
for col in range(1, worksheet.max_column + 1):
    header = worksheet.cell(row=1, column=col).value
    columns[header] = col

# 遍历每一行,获取DOI号并采集相关数据
for row in range(2, worksheet.max_row + 1):
    doi = worksheet.cell(row=row, column=columns["DOI"]).value
    pdf_url = worksheet.cell(row=row, column=columns["PDF全文URL"]).value
    html_url = worksheet.cell(row=row, column=columns["HTML全文URL"]).value
    title = worksheet.cell(row=row, column=columns["题名"]).value

    # 下载PDF文件
    if pdf_url:
        response = requests.get(pdf_url)
        if response.status_code == 200:
            file_path = os.path.join(save_dir, f"{doi}.pdf")
            with open(file_path, "wb") as f:
                f.write(response.content)
            worksheet.cell(row=row, column=columns["本地保存路径及文件名"]).value = file_path

    # 更新其他数据项
    worksheet.cell(row=row, column=columns["原始网站上PDF全文的URL"]).value = pdf_url
    worksheet.cell(row=row, column=columns["HTML全文URL"]).value = html_url
    worksheet.cell(row=row, column=columns["论文页URL"]).value = f"https://doi.org/{doi}"

# 保存Excel文件
workbook.save("metadata_updated.xlsx")

请注意,上述代码仅作为示例,具体实现可能需要根据实际情况进行调整

2.	编写采集程序根据WoS元数据中的DOI号链接到原始网站获取该篇论文的全文PDF并保存到本地同时将本地保存路径及文件名、原始网站上PDF全文的URL、 HTML全文如有的URL、论文页URL、DOI号、题名等数据项写入Excel

原文地址: https://www.cveoy.top/t/topic/iCmX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录