【论文爬虫】零基础实现一键将论文详细信息直送notion并自动下载

输入论文标题,本爬虫将自动在semanticscholar.com和arxiv.com搜索该文章,自动获取其日期、作者、url、摘要等信息,并自动发送到你提前设置好的notion数据库里,同时自动从arxiv下载论文,然后将论文的保存地址在notion页面的address属性中展示

爬虫创建的notion页面展示

源码:https://github.com/WongYuetYee/PaperClipper

喜欢的点一个星星,有空会更新详细教程。
以下文章比较繁琐,是写给零基础读者看的,如果对python很熟悉,请直接查看源码的readme,节省你的时间。


0. Python及相关包的安装

Step-0.0 安装python

本爬虫基于python,如果电脑没有安装过python,可以在Microsoft Store里搜索python下载一下,如图所示:
Microsoft Store的安装页面
安装结束后打开命令提示行(win+R输入cmd),输入python,如出现以下内容,即安装成功。
在这里插入图片描述

Step-0.1 安装requests包

打开命令提示行(win+R输入cmd),输入pip3 install requests,安装时的显示如下。
在这里插入图片描述
安装完成后输入python,再输入import requests,如没有报错,显示如下,则表示成功安装:
在这里插入图片描述

1. Notion数据库的设置

Step-1.0 新建一个database页面

在Notion中新建一个database页面,下文中将默认该页面标题为Reference
打开我的模板页面并Duplicate到自己的数据库里,或者根据下面的表格手动设置相应的属性。如果只是想更改属性的名字,把代码里相应的属性名字做替换更改即可。后续有空的时候我会更新自定义属性的教程。
下面是目前支持爬取的属性,请务必保持自己页面含有下面的所有属性,否则会影响爬虫使用。

属性名字属性类别
NameTitle
URLURL
TLDRText
FormSelect
PublishedDate
DOIText
ArXivText
组织/团队/作者Text
开源代码Text
LocationText
ConfirmCheckbox

创建以后,在右上角点击Share,并点击Copy link,获取到一串形似以下字符串的链接:

https://www.notion.so/huangyer/d6d2651588e4473e970d53183d585870?v=cc500e0f66364db9841c96d6aa17d473&pvs=4

其中的加粗部分(即最后一个斜线之后、问号之前),就是你的这个数据库的id,请复制并保存下来。
在这里插入图片描述

Step-1.1 创建一个新的integration

https://www.notion.com/my-integrations中,选择+New integration,按喜好取名,如果有需要,可以上传图片选择自己喜爱的logo作为该integration的图标,点击Submit后,在Internal Integration Secret栏下点击show,并copy获取该integration的token,记录下来。

后期如果忘记可以再次进入此页面找到token,token意外泄漏也可以通过Refresh更换一个新的token。

在这里插入图片描述

Step-1.2 将integration连接到database

Step-0新建的database页面中,点击右上角的三个点按钮,找到最下方的Add Connection,找到并选择Step-1中创建的integration,并Confirm。
在这里插入图片描述

2. 脚本的更改(如果使用Quicker方法,此步可跳过)

Step-2.0 下载源代码

https://github.com/WongYuetYee/PaperClipper页面里下载ToNotion.py文件。
也可以新建一个txt文件,复制代码进去,再将该文件重命名为ToNotion.py

Step-2.1 更改源代码

打开ToNotion.py(win+Q搜索IDLE,打开该程序,点击File->open,选择你下载或新建的代码文件)。
在这里插入图片描述
打开代码后,点击Edit->Replace替换更改代码的两处(你也可以手动搜索并替换)。
你需要将$YOUR_DATABASE_ID$更换成你在Step-1.0中复制保存下来的数据库id,
再将$YOUR_INTEGRATION_TOKEN$更换成你在Step-1.1中复制保存下来的integration的token,
完成后保存代码即可。
在这里插入图片描述

3. 脚本的使用

Method-3.1 命令行中直接使用(麻烦)

Step-3.1.0 打开命令提示行

win+R输入cmd。

Step-3.1.1 输入cd /d E:

(此处E盘换成你存放了该脚本的盘符,若你存在C盘,则不需要此步骤)。

Step-3.1.2 输入python "脚本完整地址" "需要搜索的论文标题" "保存论文文件的目录"

注意,本脚本使用的是精确搜索,因此只有当你输入的标题与搜索到的论文标题完全相同,才会视为搜索成功并返回结果。
在这里插入图片描述

Method-3.2 在脚本目录中打开powershell(较麻烦)

Step-3.2.0 打开脚本所在目录

Step-3.2.1 在目录空白位置按住shift+右键点击在此处打开Powershell窗口

在这里插入图片描述

Step-3.2.2 输入python .\ToNotion.py "Paper_Title" "Download_Path"

Method-3.3 联合Quicker,实现鼠标划词收录(最推荐)

Step-3.3.0 安装Quicker

Quicker官网
对本文实现的功能,免费版可以完全支持。
喜欢quicker的朋友,如果打算充值会员,可以使用我的邀请码231933-9062,我们都能免费获得额外的90天专业版使用时长。我在notion里写了一个页面,简单介绍了个人非常喜欢的文字指令功能。

Step-3.3.1 安装动作ToNotion

动作ToNotion地址
按照页面的指示安装动作即可。

Step-3.3.2 使用动作ToNotion

选择论文标题,呼出quicker面板,点击ToNotion动作。
请添加图片描述

<think>好的,用户现在的问题是,他的论文题目是“基于深度学习的脑肿瘤图像分割方法及实现”,但他是零基础,想知道如何完成这个论文。首先,我需要回顾之前的对话历史,看看之前用户的情况是怎样的。 之前用户提到过,他目前只有初步想法,用PyTorch搭建U-Net模型,写了开题报告和文献综述,但还没有实际展开,实验结果也没出来。当时我给出的是一个分步骤的回答建议,帮助他在复试时如何回答导师的问题,突出研究思路、技术路线和后续规划。现在用户的问题更基础,是零基础如何完成这个论文,所以需要从头开始指导。 首先,用户现在是零基础,可能对深度学习、医学图像分割、U-Net模型等都不太了解。所以需要制定一个从基础到进阶的学习路径,帮助他逐步掌握所需的知识和技能。同时,论文的完成需要系统的步骤,包括文献调研、数据准备、模型构建、实验设计、结果分析等,这些都需要一步步来。 接下来,我需要考虑用户可能的深层需求。虽然用户接问的是如何完成论文,但作为零基础的学生,他可能还缺乏方向感和具体步骤,甚至可能对如何开始学习编程和深度学习感到迷茫。因此,回答需要不仅提供步骤,还要给予学习资源推荐、时间规划建议,以及鼓励和建立信心。 我需要将整个完成论文的过程分解为几个阶段,每个阶段有明确的目标和任务。比如第一阶段是学习基础,第二阶段是文献调研,第三阶段是数据准备,第四阶段是模型搭建,第五阶段是实验与优化,第六阶段是论文写作。每个阶段下再细分具体的学习内容和任务。 同时,用户可能需要知道每个阶段需要多长时间,如何分配时间,以及遇到困难时该如何解决。比如在学习阶段,推荐一些在线课程或书籍,帮助他快速入门Python和PyTorch。在数据准备阶段,指导如何获取公开数据集,如何处理医学图像等。 另外,用户可能会担心自己零基础是否能够完成这样的论文,所以在回答中需要强调逐步推进的重要性,避免一开始就追求复杂的模型,而是从复现经典模型开始,逐步改进。同时,提供一些实际操作的例子,比如使用Brats数据集,使用U-Net作为基线模型,这些都能帮助用户具体化任务。 还需要提醒用户注意时间管理,合理分配每个阶段的时间,避免在某个环节卡住。同时,建议用户记录实验过程和结果,方便后续论文写作时的回溯和分析。 最后,要确保回答结构清晰,步骤明确,让用户能够按部就班地进行,同时给予信心,说明只要按计划学习,零基础也能完成论文。此外,可以补充一些常见问题的解决方法,比如遇到代码错误如何解决,如何查找文献等,增加实用性。</think>以下是针对零基础完成“基于深度学习的脑肿瘤图像分割论文”的系统指南,按步骤分解附学习资源建议: --- ### **一、基础能力构建(1-2个月)** #### 1. 深度学习基础 - **必学内容**: - Python编程(推荐《Python编程:从入门到实践》) - PyTorch框架(官方教程:https://pytorch.org/tutorials/) - 卷积神经网络(CNN)原理(吴恩达深度学习课程第4周) - **实践任务**: - 用PyTorch实现MNIST手写数字分类(代码示例:https://github.com/pytorch/examples/tree/main/mnist) #### 2. 医学图像基础 - **必学内容**: - MRI成像原理(推荐《医学影像处理与分析》第2章) - 脑肿瘤解剖结构(Brats数据集官网说明:https://www.med.upenn.edu/cbica/brats2023) - **工具掌握**: - 医学图像查看工具:ITK-SNAP(官网教程) - 数据格式转换:NiBabel库(处理.nii.gz文件) --- ### **二、文献调研方法(2-3周)** #### 1. 论文检索策略 - **关键检索词**: ```python ("brain tumor segmentation") AND ("U-Net" OR "attention" OR "multimodal") AND ("MRI") AND ("deep learning") ``` - **核心期刊/会议**: - 顶会:MICCAI, ISBI, CVPR-MIA - 期刊:IEEE TMI, Medical Image Analysis #### 2. 文献管理工具 - 使用Zotero管理文献,建立分类标签: ``` |-- 基础方法 | |-- U-Net变体 | |-- 注意力机制 |-- 医学应用 |-- 多模态融合 |-- 小样本学习 ``` --- ### **三、数据准备阶段(1个月)** #### 1. 数据集获取 - **公开数据集**: - Brats 2023(含多模态MRI):https://www.synapse.org/brats2023 - TCGA-GBM(需申请):https://portal.gdc.cancer.gov/ - **预处理流程**: ```python # 示例代码框架 def preprocess(nii_path): img = nib.load(nii_path) # 加载nii文件 data = img.get_fdata() data = z_score_normalize(data) # 标准化 data = elastic_transform(data) # 弹性形变增强 return data ``` #### 2. 数据划分策略 - 采用5折交叉验证(避免小样本过拟合) - 病例级划分(同一患者的不同切片必须在同一fold) --- ### **四、模型实现路线(2-3个月)** #### 1. 基线模型搭建 - **U-Net复现步骤**: 1. 参考原论文架构图(https://arxiv.org/abs/1505.04597) 2. 使用PyTorch构建编码器-解码器结构 3. 添加跳跃连接(skip connection) - **代码框架**: ```python class UNet(nn.Module): def __init__(self): super().__init__() self.down1 = ConvBlock(4,64) # 输入通道=4(多模态) self.down2 = DownSample(64,128) # ... 中间层定义 self.up1 = UpSample(256,128) def forward(self, x): x1 = self.down1(x) x2 = self.down2(x1) # ... 下采样过程 return output ``` #### 2. 改进方案(选择1-2个方向) - **轻量化改进**: - 用深度可分离卷积替换常规卷积(减少参数量30%+) - 代码修改示例: ```python # 原卷积层 self.conv = nn.Conv2d(in_c, out_c, 3, padding=1) # 改进为 self.conv = nn.Sequential( nn.Conv2d(in_c, in_c, 3, groups=in_c, padding=1), # 深度卷积 nn.Conv2d(in_c, out_c, 1) # 逐点卷积 ) ``` - **性能提升改进**: - 在跳跃连接处添加注意力门控(AG-Net) - 参考代码:https://github.com/ozan-oktay/Attention-Gated-Networks --- ### **五、实验设计要点** #### 1. 评价指标选择 - **核心指标**: - Dice系数(肿瘤区域重叠度) - Hausdorff距离(边界贴合度) - 敏感度(小肿瘤检出率) - **计算示例**: ```python def dice_coeff(pred, target): intersection = (pred * target).sum() return (2. * intersection) / (pred.sum() + target.sum()) ``` #### 2. 对比实验设计 - **基线对比**: | 方法 | Dice(WT) | HD95(mm) | 参数量(M) | |-----------------|----------|----------|----------| | 经典U-Net | 0.78 | 8.2 | 31.0 | | 本文方法 | 0.83 | 6.1 | 28.5 | --- ### **六、论文写作规划** #### 1. 章节框架建议 ``` 第1章 引言(突出临床价值:脑肿瘤放疗靶区勾画需求) 第2章 相关工作(对比FCN、V-Net等方法的局限性) 第3章 方法(重点讲解改进模块的数学表达) 第4章 实验(消融实验+对比实验+临床医生评估) 第5章 结论(强调方法的泛化性:在XXX数据集上的迁移结果) ``` #### 2. 图表制作技巧 - 模型结构图:使用PowerPoint绘制(参考Nature期刊图示规范) - 结果可视化:用ITK-SNAP叠加预测结果与金标准 --- ### **七、时间管理建议** | 阶段 | 时间节点 | 交付物 | |--------------|------------|--------------------------| | 基础学习 | 第1-2个月 | MNIST分类代码 | | 文献综述 | 第3个月 | 研究现状对比表格 | | 模型开发 | 第4-6个月 | 消融实验数据 | | 论文撰写 | 第7-8个月 | 初稿+图表 | | 修改完善 | 第9-10个月 | 查重报告+实验补充 | --- ### **关键问题应对策略** 1. **代码报错**: - 优先查看PyTorch官方文档 - 在GitHub Issues中搜索同类问题(如:"size mismatch error U-Net") 2. **实验效果差**: - 检查数据预处理是否一致 - 尝试降低学习率(如从1e-3调整到1e-4) 3. **写作困难**: - 使用Overleaf模板(如:IEEE Access Latex模板) - 先完成图表再填充文字 --- 只要按照这个路线坚持推进,每天保持3小时有效学习时间,零基础完全可以在10-12个月内完成论文。建议在GitHub建立私有仓库管理代码,用Notion记录每日进展。遇到具体技术问题时可再深入讨论。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值