精华内容
下载资源
问答
  • CSDN 博客批量设置公开文章为私密
    2021-05-03 10:43:27

    批量设置CSDN博客 公开文章为私密

    因个人需求,需要将CSDN博客想将CSDN博客隐藏,但又不舍得删除博客,则可将博客设置为私密。但是文章数过多,逐个操作就太麻烦了。

    • 如需 批量隐藏CSDN博客,可加wx 13059408175
      在这里插入图片描述
    更多相关内容
  • 最近准备搭建新博客,所以想把所有csdn文章下载下来,但实在太多,不可能一篇一篇去导出,所以写了一个批量导出脚本,尽管csdn的在线编辑、发布、专栏、自定义模块、模板等比较成熟,但实在没有一点美感,这一点令人...


    1. 背景

    最近准备搭建新博客,所以想把所有csdn的文章下载下来,但实在太多,不可能一篇一篇去导出,所以写了一个批量导出脚本,尽管csdn的在线编辑、发布、专栏、自定义模块、模板等比较成熟,但实在没有一点美感,这一点令人比较失望,一开始我比较在意在线编辑速度快,笔记更新方便,检索也还算可以,前几天阿里云开发者社区infoQ中国社区运营人员相继邀请我去他们平台发布文章,但我更想尝试本地利用Obsidian工具编写笔记试试,并同步githubgitee仓库存储,博客也许会以github page依托利用hexoJekyll等工具发布,如果还可以同步notion云雀就更完美。

    2. 功能

    1. 通过传入id确立个人用户主页;
    2. 创建个人博客目录,专栏目录;
    3. 获取专栏URL、名称、篇数量;
    4. 依靠专栏URL获取对应的多页文章URL、标题;
    5. 遍历文章URL通过cookie获取文章内容并转换markdown格式。

    3. 下载

    $ git clone https://github.com/Ghostwritten/csdn_to_md.git 
    

    4. 配置

    chrome浏览器登陆csdn平台,按"F12"找到自己网页cookie,选择部分cookie内容复制至csdn_to_md.py脚本109行。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPYqwJNL-1651508805129)(https://github.com/Ghostwritten/csdn_to_md/blob/main/cookie.png)]

    5. 代码

    github仓库csdn_to_md

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import json
    import os
    import uuid
    import time
    import requests
    import datetime
    import argparse
    import re
    from bs4 import BeautifulSoup
    
    
    def request_blog_column(id):
    
        headers = {
          'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
        }
        
        urls = 'https://blog.csdn.net/' + id
        reply = requests.get(url=urls,headers=headers)
        parse = BeautifulSoup(reply.content, "lxml")
        spans = parse.find_all('a', attrs={'class':'special-column-name'})
    
        blog_columns = []
        
        for span in spans:
              href = re.findall(r'href=\"(.*?)\".*?',str(span),re.S)
              href = ''.join(href)
    
              headers = {
              'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
              }
              blog_column_reply = requests.get(url=href,headers=headers)
              blogs_num = re.findall(r'<a class="clearfix special-column-name" target="_blank" href=\"'+ href +'\".*?<span class="special-column-num">(.+?)篇</span>',blog_column_reply.text,re.S)
              blogs_column_num = str(blogs_num[0])
    
    
              blog_column = span.text.strip()
    
              blog_column_dir = './' + str(id) + '/' + str(blog_column)          
              if not os.path.exists(blog_column_dir):
                os.mkdir(blog_column_dir)
    
              blog_id = href.split("_")[-1]
              blog_id = blog_id.split(".")[0]
              blog_columns.append([href,blog_column,blog_id,blogs_column_num])
              
     
    
        return blog_columns
    
    def request_blog_list(id):
        blog_columns = request_blog_column(id)
        blogs = []
        for blog_column in blog_columns:
            blog_column_url = blog_column[0]
            blog_column_name = blog_column[1]
            blog_column_id = blog_column[2]
            blog_column_num = int(blog_column[3])
         
    
            if blog_column_num > 40: 
               page_num = round(blog_column_num/40)
               for i in range(page_num,0,-1):
                   blog_column_url = blog_column[0]
                   url_str = blog_column_url.split('.html')[0]
                   blog_column_url = url_str + '_' + str(i) + '.html'
                   append_blog_info(blog_column_url,blog_column_name,blogs)
               blog_column_url = blog_column[0]
               blogs = append_blog_info(blog_column_url,blog_column_name,blogs)
                   
            else:
               blogs = append_blog_info(blog_column_url,blog_column_name,blogs)
    
        return blogs
    
    
    def append_blog_info(blog_column_url,blog_column_name,blogs):
        headers = {
          'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
        }
        reply = requests.get(url=blog_column_url,headers=headers)
        blog_span = BeautifulSoup(reply.content, "lxml")
        blogs_list = blog_span.find_all('ul', attrs={'class':'column_article_list'})
        for arch_blog_info in blogs_list:
            blogs_list = arch_blog_info.find_all('li')
            for blog_info in blogs_list:
    	    
                blog_url = blog_info.find('a', attrs={'target':'_blank'})['href']
                blog_title = blog_info.find('h2', attrs={'class':"title"}).get_text().strip().replace(" ", "_").replace('/','_')
                blog_dict = {'column': blog_column_name,'url': blog_url, 'title': blog_title}
                blogs.append(blog_dict)
        return blogs 
    
    def request_md(id):
    
        blogs = request_blog_list(id)
        
        for blog_dict in blogs:
            blog_url = blog_dict['url']
            blog_title = blog_dict['title']
            blog_column = blog_dict['column']
            blog_id = blog_url.split("/")[-1] 
            url = f"https://blog-console-api.csdn.net/v1/editor/getArticle?id={blog_id}"
            headers = {
            
             "Cookie": "uuid_tt_dd=20_18815108270-1651420958061-407001;dc_session_id=10_1651420958062.474827;acw_tc=276077c116514209580398703eb6ccd1972794b4689cf3b5039f85506a6146;UserName=hahalelehehe; UserInfo=30ee073e05d84844b34a829ef0d80541; UserToken=30ee073e05d84844b34a829ef0d80541; UserNick=ghostwritten; AU=5F9; BT=1651420447587; Hm_up_6bcd52f51e9b3dce32bec4a3997715ac=%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22xixihahalelehehe%22%2C%22scope%22%3A1%7D%7D; log_Id_click=1111; c_pref=https%3A//i.csdn.net/; c_ref=https%3A//blog.csdn.net/xixihahalelehehe%3Fspm%3D1010.2135.3001.5343; c_page_id=default; dc_tos=rb7pev; log_Id_pv=1346; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1651422057; log_Id_view=2182;",
             "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36"
               
            }
            data = {"id": blog_id}
            reply = requests.get(url, headers=headers,data=data)
            reply_data = reply.json()
    
            try:
               key = "key" + str(uuid.uuid4())
               content = reply_data["data"]["markdowncontent"].replace("@[toc]", "")
               blog_title_dir = './' + str(id) + '/' + str(blog_column) + '/' + str(blog_title) + '.md'
               with open(blog_title_dir, "w", encoding="utf-8") as f:
                   f.write(content)
                 
               print("download blog markdown blog:" + '【' + blog_column + '】' + str(blog_title))
            except Exception as e:
               print("***********************************")
               print(e)
               print(url)
    
    
    
    
    def read_from_json(filename):
        jsonfile = open(filename, "r",encoding='utf-8')
        jsondata = jsonfile.read()
        return json.loads(jsondata)
    
    def write_to_json(filename, data):
        jsonfile = open(filename, "w")
        jsonfile.write(data)
    
    
    
    def main():
        parser = argparse.ArgumentParser()
    
        parser.add_argument('-i', '--id', dest='id',type=str,  required=True, help='csdn name')
    
        args = parser.parse_args()
        
        csdn_id = args.id
    
        name_dir = './' + str(csdn_id)
        if not os.path.exists(name_dir):
           os.mkdir(name_dir)
    
        request_md(csdn_id)
    
    if __name__ == '__main__':
        main()
    

    5. 演示

    $ python3 csdn_to_md.py -i  xixihahalelehehe
    download blog markdown blog:【helm】helm_快速学习手册
    download blog markdown blog:【helm】如何开发一个完整的Helm_charts应用实例
    download blog markdown blog:【helm】helm_将yaml文件转换json的插件helm-schema-gen
    download blog markdown blog:【helm】helm_NOTES.txt
    download blog markdown blog:【helm】helm_test_测试详解
    download blog markdown blog:【helm】helm_charts_入门指南
    download blog markdown blog:【helm】openshift_Certified_Helm_Charts_实践
    download blog markdown blog:【helm】Helm_Values.yaml
    ......
    
    
    $ cd xixihahalelehehe 
    
    $ /xixihahalelehehe# tree 
    .
    ├── ansible
    │   ├── anible_【模块】_notify.md
    │   ├── ansbile【模块】replace_替换.md
    │   ├── ansbile_模块开发-自定义模块.md
    │   ├── ansible_assert_模块.md
    │   ├── ansible_become配置.md
    │   ├── ansible_cron_模块.md
    │   ├── ansible_debug模块.md
    │   ├── ansible_delegate_to_模块.md
    │   ├── ansible_file模块详解.md
    │   ├── ansible_gather_facts配置.md
    │   ├── ansible_hosts_and_groups配置.md
    │   ├── ansible_jinja2详解.md
    │   ├── ansible-playbook_role角色.md
    │   ├── ansible-playbook实战.md
    │   ├── ansible_script模块.md
    │   ├── ansible_set_fact模块.md
    │   ├── ansible_URI模块.md
    │   ├── ansible【任务】安装httpd.md
    │   ├── ansible变量.md
    │   ├── ansible_安装.md
    │   ├── ansible_快速学习手册.md
    │   ├── ansible【模块】add_host.md
    │   ├── ansible【模块】blockinfile.md
    │   ├── ansible_【模块】find.md
    │   ├── ansible【模块】include_tasks.md
    │   ├── ansible【模块】linefile_文件行处理.md
    │   ├── ansible【模块】modprobe.md
    │   ├── ansible【模块】pause.md
    │   ├── ansible_【模块】sysctl.md
    │   ├── ansible【模块】systemd.md
    │   ├── ansible【模块】template.md
    │   ├── ansible【模块】yum.md
    │   ├── ansible_系统选择性执行脚本.md
    │   ├── ansible远程容器机种方法.md
    │   └── ansible_配置.md
    ├── blog
    │   ├── github如何搭建一个博客.md
    │   ├── jekyll的一个主题TeXt-theme拆解.md
    │   ├── jekyll配置管理github博客.md
    │   ├��─ 如何使用jekyll插件.md
    │   ├── 如何安装jekyll并搭建一个博客.md
    │   └── 如何购买域名.md
    ├── c++
    │   └── makefile入门.md
    ├── camera
    │   ├── A7R2_图标列表.md
    │   ├── sony_A7R2介绍.md
    │   └── SONY_A7R2_基础操作.md
    ├── Cisco
    │   ├── 运维之思科篇_-----1.VLAN_、_Trunk_、_以太通道及DHCP.md
    │   ├── 运维之思科篇_-----2.vlan间通讯_、_动态路由.md
    │   ├── 运维之思科篇_-----3.HSRP(热备份路由协议),STP(生成树协议),PVST(增强版PST).md
    │   ├── 运维之思科篇_-----4._标准与扩展ACL_、_命名ACL.md
    │   ├── 运维之思科篇_-----5._NAT及静态转换_、_动态转换及PAT.md
    │   ├── 运维之思科篇_-----6..md
    │   └── 运维之思科篇_-----6.思科项目练习.md
    
    

    6. 技术

    7. 参考

    在这里插入图片描述

    展开全文
  • 知道你时间很宝贵,直接上图: 这里可以批量选择(↓)

    知道你时间很宝贵,直接上图:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    这里可以批量选择(↓)

    在这里插入图片描述

    注:感觉对你有帮助的话,就动动小手点个赞吧!

    展开全文
  • 今天看我各个平台博客同步情况,发现我之前都是在csdn写完,直接复制粘贴到其它平台的,格式什么的完全没有了,而我也急于发布没有做任何处理。想象以后文章多起来,不仅管理起来不方便,而且对其它平台的阅读者很不...

    今天看我各个平台博客同步情况,发现我之前都是在csdn写完,直接复制粘贴到其它平台的,格式什么的完全没有了,而我也急于发布没有做任何处理。想象以后文章多起来,不仅管理起来不方便,而且对其它平台的阅读者很不友好。


    顺势观察了一下各平台的导入、导出功能(针对于自己文章):有平台支持批量导入,亦有平台支持批量导出,还有的支持单篇导入,没有一个既可以批量导入又可以批量导出的(嘤嘤嘤)。


    而CSDN同样仅支持单篇导入、导出,需要进到每篇文章的编辑页面再进行导出,如果文章超级多的时候,备份、搬迁时候进行此项操作都不是最佳方案。想想我之前那篇Hexo迁移博客的文章:Mac_如何利用Hexo发布、迁移博文?https://blog.csdn.net/pang787559613/article/details/102619683,竟然还是我手动导出的(可能之前文章少,没觉得费事儿吧),还是太年轻啊。


    对于可以批量导入的平台,我本人甚是欢喜,就算新注册的账号,也不用一篇一篇去复制粘贴,那么前提是要先把自己已有文章导出为统一格式(如:Markdown),既做一次备份,也便于在其它平台共用。

    延伸一下,只能导出自己的文章也不太好,毕竟如果遇到想要收藏的文章时候,存下的格式很乱,就很尴尬了。所以不仅限于导自己的博客,这篇文章的主题是:如何从CSDN批量导出markdown格式的文章?

    网上搜了一下有java的脚本用到jsoap、也有python的selenium跟BeautifulSoap两种。相比之下我还是比较熟悉python,但是selenium是基于浏览器模拟导出,仅能在文章编辑页导出自己的文章,有局限性,所以就研究了下BeautifulSoap。基于这位大佬的代码:https://blog.csdn.net/qq_36962569/article/details/100167955,运行下来,仅能拿到前两页前三条(共计6条数据),而且写入报错。对于我非专业python来说有点小烦躁,好在坚持了下来,理清了思路,解决了报错,并成功导出。下面我来记录下我所理解的大佬思路,还有报错的解决方案,贴一下修改过的代码,给需要的人做参考。



    一、思路:

    1、csdn自带导出功能是如何导出的?

    2、每篇文章怎么做区分的?怎么拿到所有文章的id?

    3、分页如何处理?

    4、拿到内容后解析写入文件?



    二、分析过程:

    1、csdn自带导出功能是如何导出的?

    打开一片文章编辑页面,F12查看数据如何获取的,发现其为这样一个请求https://blog-console-api.csdn.net/v1/editor/getArticle?id=105360586,返回字段中有content和markdowncontent,我们要拿markdown格式,所以Markdowncontent就好了。
    在这里插入图片描述
    在这里插入图片描述
    **在这里插入图片描述**

    2、每篇文章怎么做区分的?怎么拿到所有文章的id?

    至于第1步里的id,跟这篇文章详情链接https://blog.csdn.net/pang787559613/article/details/105360586,是一致的,再观察几篇文章详情,仅后轴id不一样, 所以不同文章是以此来区分的。


    查看所有文章id:
    个人主页,F12打开检查,刷新页面(windows—>>F5,mac—>>command+r):
    在这里插入图片描述可以分析以下源码,用BeautifulSoap库解析,能获取id、发布时间等内容:
    在这里插入图片描述

    3、分页如何处理?

    翻到个人主页底部页码出,点开第二页,发现调用接口为:https://blog.csdn.net/pang787559613/article/list/2
    在这里插入图片描述

    切回第一页时,调用的请求为:https://blog.csdn.net/pang787559613/article/list/1
    在这里插入图片描述

    4、拿到内容后解析写入文件?

    通过调用第3步,拿到所有文章,再用第2步,解析获得文章id以及发布时间,最后调用第1步,解析拿到markdowncontent、文章标题、tags、key等等,保存为hexo格式的markdown(由于我的hexo博客仅有标题+内容,所以代码仅写入了标题跟内容,其余注释了,需要的可自行修改。后来仅保留了内容,做博客迁移)。



    三、完整代码:

    # encoding:utf-8
    # author:笑胖仔
    
    import json
    import uuid
    import time
    import requests
    import datetime
    from bs4 import BeautifulSoup
    
    
    def request_blog_list(page):
        """获取博客列表
        主要包括博客的id以及发表时间等
        """
        url = f'https://blog.csdn.net/pang787559613/article/list/{page}'
        reply = requests.get(url)
        parse = BeautifulSoup(reply.content, "lxml")
        spans = parse.find_all('div', attrs={'class':'article-item-box csdn-tracking-statistics'})
        blogs = []
        for span in spans[:40]:
            try:
                href = span.find('a', attrs={'target':'_blank'})['href']
                read_num = span.find('span', attrs={'class':'num'}).get_text()
                date = span.find('span', attrs={'class':'date'}).get_text()
                blog_id = href.split("/")[-1]
                blogs.append([blog_id, date, read_num])
            except:
                print('Wrong, ' + href)
        return blogs
    
    def request_md(blog_id, date):
        """获取博客包含markdown文本的json数据"""
        url = f"https://blog-console-api.csdn.net/v1/editor/getArticle?id={blog_id}"
        headers = {
            "cookie":"uuid_tt_dd=10_20621362900-1586421086666-163599; dc_session_id=10_1586421086666.420623; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1586421618; dc_sid=d4ceee41911ac755c162110ff811aee3; __gads=ID=608336bee91baf3d:T=1586421689:S=ALNI_MZozulzITWLw3Hxzo3jrnu5fmz8CA; c_ref=https%3A//blog.csdn.net/pang787559613/article/list/2; c-toolbar-writeguide=1; SESSION=3b5e7c88-b27d-4fcc-a2d5-4e97c1438a3c; UN=pang787559613; Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac=6525*1*10_20621362900-1586421086666-163599!5744*1*pang787559613; announcement=%257B%2522isLogin%2522%253Atrue%252C%2522announcementUrl%2522%253A%2522https%253A%252F%252Fblog.csdn.net%252Fblogdevteam%252Farticle%252Fdetails%252F105203745%2522%252C%2522announcementCount%2522%253A0%252C%2522announcementExpire%2522%253A3600000%257D; UserName=pang787559613; UserInfo=604f13922dc04f2d8071fe0834e95db3; UserToken=604f13922dc04f2d8071fe0834e95db3; UserNick=%E7%AC%91%E8%83%96%E4%BB%94; AU=5FE; BT=1586422795507; p_uid=U000000; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1586422842; TY_SESSION_ID=ffc735f4-f5ae-40ed-9b98-ff01e337bf76; dc_tos=q8ijsv",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
        }
        data = {"id": blog_id}
        reply = requests.get(url, headers=headers, data=data)
    
        try:
            write_hexo_md(reply.json(), date)
        except Exception as e:
            print("***********************************")
            print(e)
            print(url)
            # print(reply.json())
    
    def write_hexo_md(data, date):
        """将获取的json数据解析为hexo的markdown格式"""
        title = data["data"]["title"]
        title = title.replace("[", "【")
        title = title.replace("]", "】")
        tags = data["data"]["tags"]
        # 页面唯一标识符,用于统计系统和评论系统
        key = "key" + str(uuid.uuid4())
        name = f"{date[0]}-{date[1]}-{date[2]}-{title}"
        tag = "tags:\n    - " + "\n    - ".join(tags.split(","))
        # #hexo内容顶部拼接:title、tag、key
        # header = "---\n" + f"title: {title}\n" + tag + "\n" + f"key: {key}\n" + "---\n\n"
        # #hexo内容顶部拼接:仅title
        # header = "---\n" + f"title: {title}\n" + "---\n\n"
    
        content = data["data"]["markdowncontent"].replace("@[toc]", "")
    
        # hexo格式markdown
        # with open(f"blogs/{name}.md", "w", encoding="utf-8") as f:
            # f.write(header + content)
        # print(f"写入 {name}")
    
    
        # 用来博客迁移。遂仅保留内容
        with open(f"blogs/{title}.md", "w", encoding="utf-8") as f:
            f.write(content)
        print(f"写入 {title}")
    
    
    def main(total_pages=2):
        """
        获取博客列表,包括id,时间
        获取博客markdown数据
        保存hexo格式markdown
        """
        blogs = []
        for page in range(1, total_pages + 1):
            blogs.extend(request_blog_list(page))
        for blog in blogs:
            blog_id = blog[0]
            date = blog[1].split()[0].split("-")
            request_md(blog_id, date)
            time.sleep(1)
    
    if __name__ == '__main__':
        main()
    
    展开全文
  • 实现将csdn博客批量迁移

    千次阅读 2022-03-26 20:40:57
    主要参考这篇文章,实现将csdn博客批量迁移(即文章批量导出为md文件) https://blog.csdn.net/pang787559613/article/details/105444286 文中有些细节没说,这里补充一下 实现原理 利用python 爬虫完成对页面的...
  • 如何一键发布文章之多平台

    千次阅读 2021-05-31 01:10:55
    [toc] 参考 Markdown 利器: Typora + iPic 一文多发神器--ArtiPub&...文章如何一键发布 选择一键发布工具 chrome插件之OpenWrite 安装chrome插件之OpenWrite 注册账号 登陆管理界面 https://openwrite.cn/pl
  • 在IT首屈一指的交流平台上,我们可以看得到csdn在最近的一些进步和变化:如blink,文章收益,等等方面。促进和提升文章价值,激发笔者写作分享!这无疑是一件好事。 但csdn依然还有很多不够完善或者需要优化的地方...
  • 用PageAdmin采集让网站快速收录以及关键词排名,在网站优化的过程中我们可以了解到,想要网站关键词的排名在首页稳定...以上都没问题的话我们就可以用这款PageAdminCMS采集工具实现自动采集伪原创发布以及主动推送给搜.
  • CSDN中怎么删除文章

    2022-03-25 00:18:50
    1.打开CSDN 2.点击“我的” 3.点击创作中心的内容管理 4.可以看到“文章”下的“全部”的文章,每个文章的最右边都有三个小圆点,点击后就可以选择删除了
  • 那么为了增加自己文章的曝光度,可以选择多添加友链,但扪心自问,你自己找到一篇文章的时候会去看友链么?当然友链其实作为网站页面内容来被搜索引擎检索的,不过这需要贴你友链的网站本身就已经有相当高的曝光度了...
  • CSDN文章分类

    2021-05-11 10:00:24
    CSDN博客对文章进行分类管理 今天无意中发现有篇文章的分类错啦,于是去分类专栏里把它删掉重新分类。 1.点击分类专栏 2.点击管理 3.看到需要重新分类的文章,点击删除(不是真的删除文章) 4.选择你想的分类,...
  • csdn怎么删除文章

    2021-08-15 13:29:38
    鼠标放置在右上角个人头像上 在内容管理中可以删除文章
  • 网站内容是我们的网站的重要组成部分,通过在线伪原创工具,我可以实时采集发布文章,通过在线伪原创工具使我们的文章高度原创。 在线伪原创工具可以满足我们网站内容每天更新的需求。蜘蛛喜欢新颖、实时的内容...
  • 可以批量发布内容到WordPress网站上吗?怎么通过WordPress发布让网站自动更新内容,解决了网站自动更新后,我们还需要注意什么事项才能让网站快速收录与关键词排名?网站SEO关键词排名是一个细化的步骤,有一些东西...
  • CSDN设置私密文章

    千次阅读 2018-04-15 21:31:47
    依次点击:个人中心-&gt;我的博客-&gt;点击要设置为私密文章文章-&gt;点击 编辑-&gt;拉到文章底部,选中 私密文章 -&gt;保存修改。
  • [版权申明] 非商业目的注明出处可自由转载,转载请标明出处!!! 博文地址:https://blog.csdn.net/cdpxc/article/details/109679550 出自:cdpxc(CSDN ID) 目录 前言 ...4、博客发布文章入口 ...
  • 曾经我也在CSDN上发表文章,但是后来因为口味不太符合后来就不在CSDN上发表了。 今天重新登上CSDN发现上面的技术氛围和活跃度竟然比博客园和简书(简书真的是一手好牌打的稀烂)好很多。所以决定以后的文章要优先发...
  • 大概过了10天, 因为也是很多的朋友加我咨询,比网站文章批量发布工具兴趣度还大,所以下面完整说一下具体方法 因为发布的数量比较少,有时候会忘,隔三差五的但是收录很正常,当然不止是收录,流量也是有的。
  • 现在微信几乎成了事实上的全民通信工具,而...特别是如果遇到一个高产的作者喜欢写系列型文章,一个系列有几十篇文章,而且文章的时间跨度还比较大的,这样一篇篇手动保存起来实在是麻烦,保存到后期自己都迷糊了...
  • 微博批量发布,微博定时发布 最新的微博将之前的登录做了修改,使自动登录获取cookie更难,就算获取了有效期也很短,需要长期不断的登录,因此研究了一下,最新的微博登录。 思路: 1.可以使用手机验证码,开放一...
  • 这种方法纯手工打造,效率低,无法批量保存,也无法达到原文的排版效果,影响后期阅读。 2. 使用微信自带的收藏功能 点击微信右上角的三点,即可选择收藏,如下方左图所示。 这种操作方法简单、方便,手机和电脑...
  • CSDN如何快速转载文章

    2020-04-13 15:09:32
    本来我一直不会在csdn中转载他人的文章的,知道有一次在网上看到一篇教程(来源已经忘记,但是原理很简答)。 利用Markdown...
  • 真正CSDN博客文章一键转载插件(含源码)

    千次阅读 热门讨论 2019-03-28 17:47:03
    插件地址:https://greasyfork.org/zh-CN/scripts/381053-csdn%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0%E8%BD%AC%E8%BD%BD%E6%8F%92%E4%BB%B6 ... 文章阅读界面 文章发布页面 源代码 /...
  • 自从用上了微博,就觉得Wordpress的文章发布功能好麻烦,为什么不能在首页发布文章呢?找来找去,找到了P2主题,可是个性化需要修改CSS,弄了一半因为工作太忙无法进行了。WordPress博客实现前台快捷发布文章的界面...
  • 三天假期一晃而过,过完中秋又是忙碌的开始~爱生活爱工作的C菌带着CSDN产品周报第14期来提醒您收收心认真上班啦~ 首页新增「每日一练」入口 APP端的「每日一练」一经推出圈粉无数,“建议推出网页版”的呼声也...
  • update dede_archives set pubdate= 1308240000 where id>=1 and id<=10; update dede_archives set senddate= 1335542400 where id>=1 and id<=10;  http://tool.chinaz.com/Tools/unixtime...
  • 对于博客作者而言,多平台运作是一种...2、登录知乎并进入到发布文章界面,按下图方式进行文档导入; 3、选择刚才导出至本地Markdown文件后,即可完成导入,导入后文本和图片都可以正常显示,基本无需调整。 以..
  • CSDN如何上传资源 1.解决CSDN上传资源出现报错:“该资源已存在,请重新上传” 解决办法:把资源压缩了再上传就行了。 补充:把资源改名字一般不行,因为CSDN要对资源进行内容检测。压缩了的文件就不能进行内容检测...
  • 1、首先打开我们的个人空间 2、点击右上角的切换旧版 3、点击右上角的管理博客 4、右边就会显示操作啦 5、点击三个 ···就可以删除了

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,622
精华内容 3,048
关键字:

csdn文章批量发布