如何使用Pywikibot将单个页面内容克隆到多个目标页面?
使用Pywikibot复制页面内容到多个页面
以下是实现将单个页面内容批量复制到多个目标页面的具体方案,直接用Pywikibot核心API即可完成:
核心思路
- 连接目标维基站点,读取源页面的完整内容(含文本、格式标记等)
- 遍历目标页面列表,将源内容逐一写入,同时添加明确的编辑摘要
代码示例
import pywikibot # 初始化站点,替换为你的目标维基站点(比如中文维基填'zh.wikipedia.org') site = pywikibot.Site('zh', 'wikipedia') # 定义源页面和目标页面列表 source_page_title = "页面1" target_page_titles = ["页面2", "页面3"] # 获取源页面对象 source_page = pywikibot.Page(site, source_page_title) if not source_page.exists(): print(f"源页面 {source_page_title} 不存在,请检查标题") exit() # 读取源页面内容 source_content = source_page.text # 批量写入目标页面 for title in target_page_titles: target_page = pywikibot.Page(site, title) # 可选:检查目标页面是否存在,按需决定是否覆盖 if target_page.exists(): print(f"目标页面 {title} 已存在,将覆盖原有内容") # 写入内容并保存,添加编辑摘要 target_page.text = source_content target_page.save(summary=f"从页面[{source_page_title}]复制内容", minor=False) print(f"已成功复制内容到页面 {title}")
关键注意事项
- 站点配置:确保Pywikibot已完成
user-config.py的登录配置,否则无法执行编辑操作 - 权限检查:确认你的账号拥有目标页面的编辑权限,部分受保护页面无法修改
- 异常处理:如果需要更健壮的逻辑,可添加
try-except块捕获页面保护、网络异常等问题 - 编辑规范:添加清晰的编辑摘要,方便其他编辑者了解修改背景
内容的提问来源于stack exchange,提问作者ARaspberry523
相关产品推荐
相关产品推荐

