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
jayan2358
V2EX  ›  Python

如何清理爬虫数据中一些不需要的 HTML 属性

  •  
  •   jayan2358 · 2018-04-08 11:46:16 +08:00 · 4190 次点击
    这是一个创建于 2417 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如对于以下数据

    <p id="a">data</p>
    

    我只想保留

    <p>data</p>
    

    该如何操作,有快捷的方法吗?

    10 条回复    2018-04-09 10:22:56 +08:00
    xgzxy
        1
    xgzxy  
       2018-04-08 11:53:10 +08:00
    用 text()提取出文本吧,就能取出 data 了吧
    sheep3
        2
    sheep3  
       2018-04-08 12:02:59 +08:00   ❤️ 1
    直接正则 replaceAll("<\S+\s(.*?)>","")
    唔..... 大概有这种语法吧.....
    Daniel65536
        3
    Daniel65536  
       2018-04-08 12:17:15 +08:00 via iPhone   ❤️ 2
    lxml.html.clean
    hanxiV2EX
        4
    hanxiV2EX  
       2018-04-08 12:19:54 +08:00 via Android
    二楼的正则可以搞定吧
    woscaizi
        5
    woscaizi  
       2018-04-08 12:48:55 +08:00 via iPhone
    Xpath 语法可解
    jayan2358
        7
    jayan2358  
    OP
       2018-04-08 16:49:41 +08:00
    @woscaizi
    /text() 吗,我还是要保留 html 标签的,毕竟内容里有 img
    Luckyray
        8
    Luckyray  
       2018-04-08 16:58:36 +08:00
    为什么要保留 html 文件?保存下来想要的数据不行吗
    qsnow6
        9
    qsnow6  
       2018-04-08 22:14:25 +08:00
    都让开,看我这个贴: https://www.v2ex.com/t/342064#reply12
    soulmine
        10
    soulmine  
       2018-04-09 10:22:56 +08:00
    @jayan2358 你要 img 直接 attr 取嘛 和你 text 不矛盾啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 210ms · UTC 02:22 · PVG 10:22 · LAX 18:22 · JFK 21:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.