V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
omg21
V2EX  ›  Python

提取内容里链接的相对路径如何改成绝对路径?

  •  
  •   omg21 · 2017-04-15 14:23:34 +08:00 · 2674 次点击
    这是一个创建于 2782 天前的主题,其中的信息可能已经有所发展或是发生改变。

    提取的字符串里有好多链接,都是相对路径,如何把这些都改成绝对路径? 比如:改成 实际上就是修改 href 的内容,先提取出 href ,再用 urljoin 转换成绝对路径,但是怎么找每个链接的 href 的位置呢?

    10 条回复    2017-04-16 13:27:37 +08:00
    omg21
        1
    omg21  
    OP
       2017-04-15 14:26:09 +08:00
    上面发贴失误,是这样的:
    提取的字符串里有好多链接,都是相对路径,如何把这些都改成绝对路径?
    比如: href="about.html"改成 href="http://www.abc.com/about.html"
    实际上就是修改 href 的内容,先提取出 href ,再用 urljoin 转换成绝对路径,但是怎么找每个链接的 href 的位置呢?
    imn1
        2
    imn1  
       2017-04-15 14:59:32 +08:00
    不需要找位置,知道当前页面的 URL(目录)就行了

    http://www.abc.com/about.html
    http://www.abc.com//about.html
    http://www.abc.com/xxx//about.html
    http://www.abc.com/xxx/xxx2/../../about.html
    这些都会走到同一个页面的,不用担心
    imn1
        3
    imn1  
       2017-04-15 15:01:20 +08:00
    还有,记得 python 中计算相对路径和绝对路径的函数,对 URL 也适用,你找找
    omg21
        4
    omg21  
    OP
       2017-04-15 15:27:02 +08:00
    @imn1 是我提问没说明白,我是想要改成绝对路径的字符串,比如我把别的网站一个页面取下来传到我的网站上,那这个页面上相对路径的 about.html 指向的是我的网站,我要的是指向他的网站的 about.html ,所以要把这里的相对路径改成绝对路径。
    binux
        5
    binux  
       2017-04-15 15:50:21 +08:00 via Android
    @omg21 那你就改呗
    dsg001
        6
    dsg001  
       2017-04-15 16:58:05 +08:00
    bs4 , lxml 都可以
    FYK
        7
    FYK  
       2017-04-15 17:24:11 +08:00 via iPhone
    直接改吧?你是想让它自动变成绝对路径?
    jiangzhuo
        9
    jiangzhuo  
       2017-04-15 20:41:51 +08:00
    这个浏览器会自己改吧,不用你管。。
    anuan
        10
    anuan  
       2017-04-16 13:27:37 +08:00
    正则
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:51 · PVG 10:51 · LAX 18:51 · JFK 21:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.