我真服了。。。。太久没登,如图所示(
公开文章自动变VIP了。。删除线保护)

准备整个脚本把文章下载导出markdown
找了一下,发现之前的的方法挺多都修复了。。。还加了反爬机制,自带的导出pdf文档,里面的代码无法完全显示
找了下是最新的方法:CSDN文章导出md并迁移至博客园 准备迁移过去了
尝试1
看了下脚本,说是要把所有文章全部开放,不能有vip文章或者付费,否则会爬取失败。。。。。可是平台已经给我自动设置成了vip文章了。。。不想手动一篇篇重新发布修改了(好像有脚本可以一键改来着,不过改了要全部重新发布)
尝试2,使用edge编程
可以看到如果是使用了markdown编辑器编辑的文章,在上面是有一个导出的操作的,可以导出成markdown或者是html文件。
参考:
python模拟操作edge浏览器,完成问题的采集
Python爬虫实战——获取指定博主所有专栏链接及博文链接

查看版本信息


下个对应版本驱动然后丢在python的目录下面,我下的驱动版本后面几位数对不上,应该能用

直接丢脚本,写的比较拉,有时会崩溃。。。能用就行.jpg
注意事项:这个只能导出自己写并发布的文章,本质就是模拟点击使用官方编辑器导出markdown文档。而且得是用markdown编辑器编辑的,富文本只能用右下角的导出为pdf(
绝不是偷懒没写)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import WebDriverException
from bs4 import BeautifulSoup
import os
import requests
import time
import pickle
#from DrissionPage import ChromiumOptions
# 初始化Edge浏览器驱动
page = None
# 保存cookies,登录成功后随便输入个字符就行
def SaveCookies():
global page
# 等待一段时间
time.sleep(5)
#input("input something:")
# 在成功登录后,保存 Cookies
cookies = page.get_cookies()
with open("cookies.pkl", "wb") as cookies_file:
pickle.dump(cookies, cookies_file)
def login():
global page
# 尝试加载之前保存的 Cookies
try:
page.get("https://blog.csdn.net") # 替换为你想要打开的URL
with open("cookies.pkl", "rb") as cookies_file:
cookies = pickle.load(cookies_file)
for cookie in cookies:
page.add_cookie(cookie)
page.refresh() # 刷新页面以应用 Cookies
except FileNotFoundError:
print("没有找到 Cookies 文件,请先手动登录并保存 Cookies。")
time.sleep(60) # 一分钟内登录
SaveCookies()
def click_element(driver, locator, wait_time=20):
""" 封装点击元素的函数,支持重试机制 """
for _ in range(3): # 重试 3 次
try:
element = WebDriverWait(driver, wait_time).until(EC.element_to_be_clickable(locator))
element.click()
time.sleep(3) #点击完成后等待3s
return True
except Exception as e:
print(


1876

被折叠的 条评论
为什么被折叠?



