所以我使用python来做一些网页解析,我想将完整的网址分成两部分.说我有地址http://www.stackoverflow.com/questions/ask.我需要协议和域(例如http://www.stackoverflow.com)和路径(例如/ questions/ask).我认为这可能是由一些正则表达式解决的,但是我不是那么方便.有什么建议?
丹是对的:urlparse是你的朋友:
>>> from urlparse import urlparse >>> >>> parts = urlparse("http://www.stackoverflow.com/questions/ask") >>> parts.scheme + "://" + parts.netloc 'http://www.stackoverflow.com' >>> parts.path '/questions/ask'
注意:在Python 3中它是from urllib.parse import urlparse
使用Python urlparse模块:
https://docs.python.org/library/urlparse.html
对于像这样定义良好且行为良好的问题,不要费心编写自己的代码,更不用说自己的正则表达式了.他们造成太多麻烦;-).