如何优雅的将百度文库/CSDN等在线文档博客保存到本地

如何优雅的将百度文库/CSDN等在线文档博客保存到本地


大家都知道百度文库下载要积分、CSDN博文没有提供下载只能一段一段复制,然后格式什么的都乱了。我介绍的方法是,将他们通过虚拟打印保存为本地pdf。那么问题来了,百度文库打印直接网页打印的时候内容是空的,广告乱七八糟的什么都还在,而CSDN博文打印的时候也是左右上下有一堆乱七八糟的广告等不堪入目。

1首先讲csdn

我们可以利用浏览器的开发者工具,我用的是360极速浏览器。
打开所需博文页,按F12就打开开发者工具了。
我们就会看到这样的东西
在这里插入图片描述
这里的代码就对应网页上的东西了,我们之间把body中除了main_father 其它全部按delete删除

<body>
<div class="main_father"></div>
 </body>

在这里插入图片描述
这时候网页可能变化不大,我们继续点开main_father左边的三角形展开,删掉除了你想要的东西,一直展开一直删,要不了多久就可以把广告和不想要的删完了
在这里插入图片描述
现在打印基本上没问题了,可能有些字超出页面了,调整下缩放比例90%差不多。

有时候可能会发现,左右两边有大量空白,正文在中间,仍然不是很美观。在这个container右边有个width 双击可以调整数据,调整改成适合你屏幕的尺寸
在这里插入图片描述
同时main这里的尺寸也调整一下更合适
在这里插入图片描述
现在打印出来基本可以用了,但是可能会出现字体很小,影响阅读,所以在article下有个font-size调整一下
在这里插入图片描述
现在保存pdf到本地就很舒服了。

2对于百度文库

对于百度文库,去广告,去不想要的内容和上面一样的,只是关键字不一样,自己多试一下就可以找到。
我只讲一下怎么打印出来文档内容不是空白的。
在source里找到main_82a8131.css文件,打开删除@media print{body{dispay:none}}
在这里插入图片描述
其它的调整参考前面举一反三吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
爬取百度文库文档需要先登录,这里我们可以使用Selenium库模拟浏览器登录。具体步骤如下: 1. 安装Selenium库:`pip install selenium`。 2. 安装Chrome浏览器和对应版本的ChromeDriver驱动程序。ChromeDriver下载地址:http://chromedriver.chromium.org/downloads。 3. 导入必要的库,并打开Chrome浏览器: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys # 打开Chrome浏览器 driver = webdriver.Chrome() ``` 4. 打开百度文库并登录: ```python # 打开百度文库网站 driver.get("https://wenku.baidu.com/") # 等待页面加载完成 driver.implicitly_wait(5) # 点击登录按钮 login_button = driver.find_element_by_id("loginBtn") login_button.click() # 输入用户名和密码登录 username_input = driver.find_element_by_id("username") username_input.send_keys("your_username") password_input = driver.find_element_by_id("password") password_input.send_keys("your_password") password_input.send_keys(Keys.RETURN) ``` 5. 定位需要下载的文档并点击下载: ```python # 定位文档并点击下载 doc_link = driver.find_element_by_xpath("//a[@class='doc-title']/@href") doc_link.click() ``` 6. 切换到新打开的标签页,获取文档的URL并下载: ```python # 切换到新打开的标签页 driver.switch_to.window(driver.window_handles[-1]) # 获取文档的URL doc_url = driver.current_url # 使用requests库下载文档保存到本地 import requests res = requests.get(doc_url) with open("world.docx", "wb") as f: f.write(res.content) ``` 完整代码如下: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys import requests # 打开Chrome浏览器 driver = webdriver.Chrome() # 打开百度文库网站 driver.get("https://wenku.baidu.com/") # 等待页面加载完成 driver.implicitly_wait(5) # 点击登录按钮 login_button = driver.find_element_by_id("loginBtn") login_button.click() # 输入用户名和密码登录 username_input = driver.find_element_by_id("username") username_input.send_keys("your_username") password_input = driver.find_element_by_id("password") password_input.send_keys("your_password") password_input.send_keys(Keys.RETURN) # 等待页面加载完成 driver.implicitly_wait(5) # 定位文档并点击下载 doc_link = driver.find_element_by_xpath("//a[@class='doc-title']/@href") doc_link.click() # 切换到新打开的标签页 driver.switch_to.window(driver.window_handles[-1]) # 获取文档的URL doc_url = driver.current_url # 使用requests库下载文档保存到本地 res = requests.get(doc_url) with open("world.docx", "wb") as f: f.write(res.content) # 关闭浏览器 driver.quit() ``` 需要替换代码中的`your_username`和`your_password`为你的百度账号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ermzdy2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值