V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
8cbx
V2EX  ›  问与答

爬虫用 lxml 处理尖括号的问题

  •  
  •   8cbx · 2017-03-01 14:36:50 +08:00 · 1891 次点击
    这是一个创建于 2827 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在在写一个爬虫爬一些页面,发现有些页面中的内容含有'<',例如<div>a<b</div>,源页面没有给'<'做转义。我用 lxml 处理的时候,取 text 只能取到 a ,后面的'<b'丢失了,请问一下大家遇到这种情况如何处理的?谢谢!
    第 1 条附言  ·  2017-03-01 19:30:52 +08:00
    最后发现问题了,是 lxml 的版本太低了😂😂😂感谢大家的帮助!
    4 条回复    2017-03-01 17:43:19 +08:00
    pubby
        1
    pubby  
       2017-03-01 15:41:34 +08:00
    给站长报告 bug ,他改好了,你这边就正常了。
    abc950309
        2
    abc950309  
       2017-03-01 17:18:08 +08:00
    text = res.text.replace('<', ‘&lt;’)
    binux
        3
    binux  
       2017-03-01 17:40:10 +08:00
    这样的页面,浏览器就是解析成 <div>a<b< div=""></b<></div> 的,提取出 a<b 岂不是和用户看到的不一样了。
    jy02201949
        4
    jy02201949  
       2017-03-01 17:43:19 +08:00
    @abc950309 #2 应该 OK ,但是个页面这么搞,消耗资源太多了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1294 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 18:15 · PVG 02:15 · LAX 10:15 · JFK 13:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.