Skip to content

修复YAML日期抓取错误 #20

@Jiangxiaogang

Description

@Jiangxiaogang

1.YAML输出的标题如果带特殊符号会导致错误,需要加上双引号;
2.目前CSDN最新文章显示的发布日期有改动,需修改抓取代码;

修改csdn2md.js:

@@ -4134,15 +4134,16 @@
             if (config.addArticleInfoInYaml) {
                 const article_info_box = doc_body.querySelector(".article-info-box");
                 // 文章标题
                 const meta_title = config.addSerialNumberToTitle ? `${padNo} ${articleTitle}` : articleTitle;
                 // 文章日期 YYYY-MM-DD HH:MM:SS
-                const meta_date =
-                    article_info_box
-                        ?.querySelector(".time")
-                        ?.textContent.match(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/)[0] || "";
-                let articleMeta = `title: ${meta_title}\ndate: ${meta_date}\n`;
+                const article_time_box = doc_body.querySelector(".time");
+                const meta_date = article_time_box?.getAttribute("data-time")
+                                  || article_time_box?.textContent.match(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/)[0]
+                                  || "";
+                console.info(`meta_date:${meta_date}`);
+                let articleMeta = `title: "${meta_title}"\ndate: ${meta_date}\n`;
                 // 文章分类和标签
                 if (article_info_box) {
                     const meta_category_and_tags = Array.from(article_info_box.querySelectorAll(".tag-link")) || [];
                     if (meta_category_and_tags.length > 0 && article_info_box.textContent.includes("分类专栏")) {
                         articleMeta += `categories:\n- ${meta_category_and_tags[0].textContent}\n`;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions