解决CSDN博客文章 保存网页到本地后,页面显示不全的问题

更新:2018.3.29

 

问题

CSDN博客文章设置为新版皮肤(“大白”),保存网页到本地后。打开离线保存的网页,会出现页面显示不全的问题。(或者,点击“展开阅读全文”按钮后,无法展开被折叠的页面。)

 

解决

浏览器:Chrome

 

 

1.首先,点击博文中“展开阅读全文”按钮

 

 

2.然后,再使用Chrome菜单-"网页另存为"功能,把网页保存到本地

3.删除"网页附带的同名文件夹“中,文件名为"main-5faf001f61.js.下载"(文件名可能会改变)的文件。

所有后缀为“.js.下载"的文件。

 

或者在该文件夹下,执行下面的批处理(保存为.bat)。

::清理.js文件
del *.js.下载

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例代码,可以爬取CSDN个人中最新的10篇文章的标题、发布时间、正文内容,并保存到本地文件中。 ```java import java.io.FileWriter; import java.io.IOException; import java.util.List; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import us.codecraft.webmagic.Page; import us.codecraft.webmagic.Site; import us.codecraft.webmagic.Spider; import us.codecraft.webmagic.processor.PageProcessor; public class CSDNBlogProcessor implements PageProcessor { private Site site = Site.me().setRetryTimes(3).setSleepTime(1000); @Override public Site getSite() { return site; } @Override public void process(Page page) { Document document = page.getHtml().getDocument(); Elements titleElements = document.select(".title-article"); String title = titleElements.first().text(); String date = titleElements.last().text(); String content = document.select("#article_content").html(); page.putField("title", title); page.putField("date", date); page.putField("content", content); } public static void main(String[] args) throws IOException { Spider spider = Spider.create(new CSDNBlogProcessor()) .addUrl("https://blog.csdn.net/username/article/list") .addPipeline(new FilePipeline("D:/csdn_blog")) .thread(5); spider.run(); } public static class FilePipeline implements Pipeline { private String path; public FilePipeline(String path) { this.path = path; } @Override public void process(ResultItems resultItems, Task task) { String title = resultItems.get("title"); String date = resultItems.get("date"); String content = resultItems.get("content"); String fileName = title + ".html"; try (FileWriter writer = new FileWriter(path + "/" + fileName)) { writer.write("<html><head><title>" + title + "</title><meta charset=\"utf-8\"></head><body>"); writer.write("<h1>" + title + "</h1>"); writer.write("<p>" + date + "</p>"); writer.write(content); writer.write("</body></html>"); } catch (IOException e) { e.printStackTrace(); } } } } ``` 说明: - 在`process`方法中,首先使用Jsoup选择器获取标题、日期、正文内容,并将其保存到`ResultItems`对象中。 - 然后,在`main`方法中,使用`Spider`对象构建爬虫,设置起始URL、线程数、结果处理器(本示例中使用自定义的`FilePipeline`),并启动爬虫。 - 在自定义的`FilePipeline`中,从`ResultItems`对象中获取文章的标题、日期、正文内容,并将其写入到本地文件中。在写入HTML文件时,需要手动添加HTML标签,保证正文内容可以正常显示。 注意: - 在示例代码中,需要将`username`替换为实际的CSDN用户名。 - 需要将`D:/csdn_blog`替换为实际的保存路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值