8cbx
V2EX  ›  问与答

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

  •  
  •   8cbx · Mar 1, 2017 · 2392 views
    This topic created in 3388 days ago, the information mentioned may be changed or developed.
    我现在在写一个爬虫爬一些页面,发现有些页面中的内容含有'<',例如<div>a<b</div>,源页面没有给'<'做转义。我用 lxml 处理的时候,取 text 只能取到 a ,后面的'<b'丢失了,请问一下大家遇到这种情况如何处理的?谢谢!
    Supplement 1  ·  Mar 1, 2017
    最后发现问题了,是 lxml 的版本太低了😂😂😂感谢大家的帮助!
    4 replies    2017-03-01 17:43:19 +08:00
    pubby
        1
    pubby  
       Mar 1, 2017
    给站长报告 bug ,他改好了,你这边就正常了。
    abc950309
        2
    abc950309  
       Mar 1, 2017
    text = res.text.replace('<', ‘&lt;’)
    binux
        3
    binux  
       Mar 1, 2017
    这样的页面,浏览器就是解析成 <div>a<b< div=""></b<></div> 的,提取出 a<b 岂不是和用户看到的不一样了。
    jy02201949
        4
    jy02201949  
       Mar 1, 2017
    @abc950309 #2 应该 OK ,但是个页面这么搞,消耗资源太多了吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3192 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    ♥ Do have faith in what you're doing.