python - django如何获取工程所有的url链接?
天蓬老师
天蓬老师 2017-04-17 17:57:58
0
1
340

dedecms好像可以做到这点
意思就是说,获取网站的所有链接,
比如文章页,列表页这些的等等的,设置连分页的页面的链接都可以直接导出来.
获取这些链接以后,可以做的事情就比较灵活
比如查排名,查收录,等等.

但是django好像没有现成的方法,而且搜索又搜索不到.
希望有懂的高人可以指点一下,或是如果要写的话要怎么写比较好!


补充一下:

要的不是url_patterns里面的一些规则,不是要那些正则表达式的网址,而是要具体的链接

比如:

http://www.zhangte.org/python/45.html
http://www.zhangte.org/python/44.html
http://www.zhangte.org/
http://www.zhangte.org/python/

这样的格式,就是全站所有的链接!!

不是正则表达式!!!!
不是正则表达式!!!!
不是正则表达式!!!!

garry_qian 大哥的回答,执行了一下代码,得到的是以下的代码结果

('', '^$')
('', '^custom/(?P<url>\\w+)/$')
('', '^robots\\.txt$')
('', '^all/$')
('', '^(?P<url>\\w+)/(?P<pk>\\w+).html$')
('', '^ueditor/')
('  ', '^controller/$')
('', '^all/$')
('', '^search/$')
('', '^tag/(?P<tag>\\w+)/$')
('', '^(?P<category>\\w+)/$')
('', '^media\\/(?P<path>.*)$')

这个不是我真正想要想的,因为如果仅仅是为了提取这些东西,我觉得直接用文本read反而更快.而且这些东西完全不能用来做任何实际用处,比如问题描述的查排名,查收录~

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(1)
大家讲道理
import urls

def show_urls(urllist, depth=0):
    for entry in urllist:
        print "  " * depth, entry.regex.pattern
        if hasattr(entry, 'url_patterns'):
            show_urls(entry.url_patterns, depth + 1)

show_urls(urls.urlpatterns)

參考http://stackoverflow.com/questions/1828187/determine-complete-django-url-configuration

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板