如果在CSDN博文编辑状态下获得博文最终网络链接?

举报
tsinghuazhuoqing 发表于 2021/12/26 23:12:12 2021/12/26
【摘要】 ■ 简介 为了便于编辑多个相互之间有交叉引用的博文,需要能够在CSND博文编辑状态下就能够获得各个博文最后引用的链接。这种方式适合于: 将一个大型的博文拆解成很多小的博文;在博文之间能够相互进行索...

■ 简介


为了便于编辑多个相互之间有交叉引用的博文,需要能够在CSND博文编辑状态下就能够获得各个博文最后引用的链接。这种方式适合于:

  • 将一个大型的博文拆解成很多小的博文;
  • 在博文之间能够相互进行索引;

在以前都需要将CSDN的博文保存之后,重新通过“查看”打开,才能够在浏览器的地址栏获得博文的最终的链接地址,这样操作稍微麻烦一些。下面通过实验给出编辑中博文的地址和最后引用点值之间的关系。

 

01编辑状态下的博文地址


1.地址之间的联系

在打开Markdown编辑器之后,最初的网页的地址为:

https://editor.csdn.net/md/
https://editor.csdn.net/md?articleId=107375420
https://zhuoqing.blog.csdn.net/article/details/107375420

此时可以看到,最终的浏览地址与在编辑状态下的地址之间的关系:

将编辑状态下的地址后面articalid=" 之后的数字字符串替换成: https://zhuoqing.blog.csdn/net/artical/details/

2.修改url2link

在原来的PYTHON命令 url2link 中增加 自动处理部分。可以碰到articalid=字符串自动进行替换。

#------------------------------------------------------------
findstr = '?articleId='
idid = urlstr.find(findstr)

if idid >= 0:
    urlstr = 'https://zhuoqing.blog.csdn.net/article/details/' + urlstr[idid+len(findstr):]


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

 

※ 结论


通过音源在编辑状态下的博文地址,可以扩展博文之间的交叉引用,提高编辑的效率。

通过修改 url2link 命令,使其能够自动完成 articalid= 的字符串替换过程。

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# URL2LINK.PY                  -- by Dr. ZhuoQing 2020-02-09
#
# Note:
#============================================================

from head import *
import requests

#------------------------------------------------------------
from bs4 import BeautifulSoup

csdn_title = '写文章-CSDN博客'

urlstr = clipboard.paste()
noteflag = 0

#printf(urlstr)

#------------------------------------------------------------
if urlstr.find('http') < 0:
    if len(sys.argv) < 2:
        printf('url2link url\a')
        exit()

    urlstr = sys.argv[1]

    if urlstr.find('http') < 0:
        printf('url2link url\a')
        exit()

    keyread = tspread()
    ctrlflag = 0;
    if len(sys.argv) > 2:
        if sys.argv[2].find('SHIFT') >= 0:
            ctrlflag = 1

        if sys.argv[2].find('NOTE') >= 0:
            noteflag = 1

    if len(sys.argv) > 3:
        if sys.argv[3].find('SHIFT') >= 0:
            ctrlflag = 1

        if sys.argv[3].find('NOTE') >= 0: noteflag = 1

    #--------------------------------------------------------
    if keyread[7] != 0 or ctrlflag != 0:

        prompt = 'Py&thon Input:'
        if ctrlflag != 0:
            prompt = 'Python &Input >>:'

        oldtitle = ''

        if keyread[8] != 0:
            xmltext = requests.get(urlstr)
            soup = BeautifulSoup(xmltext.text, 'lxml')
            oldtitle = soup.head.title.string.split('_')[0]
        else:
            tspsendwindowkey(csdn_title, 'c', control=1)
            oldtitle = clipboard.paste()

        title = tspinputline(string=oldtitle, hint=urlstr, title=prompt).strip(' ')

        if len(title) == 0:
            xmltext = requests.get(urlstr)
            soup = BeautifulSoup(xmltext.text, 'lxml')
            title = soup.head.title.string.split('_')[0]
#            printff(title)
        else:
            if title[0] == '#':
                anchorstr = title
                xmltext = requests.get(urlstr)
                soup = BeautifulSoup(xmltext.text, 'lxml')
                title = soup.head.title.string.split('_')[0]+anchorstr

#                printff(title)

    else:
        xmltext = requests.get(urlstr)
        soup = BeautifulSoup(xmltext.text, 'lxml')
        title = soup.head.title.string.split('_')[0]

#------------------------------------------------------------
else:
    if len(sys.argv) < 2:
        tspsendwindowkey(csdn_title, 'c', control=1)
        tempstr = clipboard.paste()

        if len(tempstr) == 0:
            xmltext = requests.get(urlstr)
            soup = BeautifulSoup(xmltext.text, 'lxml')
            title = soup.head.title.string.split('_')[0]
#            printff(title)
        else: title = tempstr

    else:
        title = sys.argv[1]

        if title[0] == '#':
            anchorstr = title

            tspsendwindowkey(csdn_title, 'c', control=1)
            tempstr = clipboard.paste()

            if len(tempstr) == 0:
                xmltext = requests.get(urlstr)
                soup = BeautifulSoup(xmltext.text, 'lxml')
                title = soup.head.title.string.split('_')[0]
#                printff(title)
            else: title = tempstr

            title = title+anchorstr

#------------------------------------------------------------
headstr = ''
if title[0] == '.':
    title = title[1:]
    headstr = '- [ ]'

if title[0] == ',':
    title = title[1:]
    headstr = '- [x]'

#------------------------------------------------------------
findstr = '?articleId='
idid = urlstr.find(findstr)

if idid >= 0:
    urlstr = 'https://zhuoqing.blog.csdn.net/article/details/' + urlstr[idid+len(findstr):]

#------------------------------------------------------------
titlesharp = title.find('#')
if titlesharp >= 0:
    urlstr = urlstr + title[titlesharp:]
    title = title[0:titlesharp]

#------------------------------------------------------------
if noteflag != 0:
    insertstring = '%s [**``%s``**](%s) '%(headstr, title, urlstr)
else:
    insertstring = '%s [**%s**](%s) '%(headstr, title, urlstr)

clipboard.copy(insertstring)
#printf(insertstring)

tspsendwindowkey(csdn_title, 'v', control=1)

clipboard.copy('')
tspfocuswindow(csdn_title)

#------------------------------------------------------------
#        END OF FILE : URL2LINK.PY
#============================================================

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157

文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuoqing.blog.csdn.net/article/details/107375420

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。