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

2017-03-01 14:36:50 +08:00
 8cbx
我现在在写一个爬虫爬一些页面,发现有些页面中的内容含有'<',例如<div>a<b</div>,源页面没有给'<'做转义。我用 lxml 处理的时候,取 text 只能取到 a ,后面的'<b'丢失了,请问一下大家遇到这种情况如何处理的?谢谢!
1885 次点击
所在节点    问与答
4 条回复
pubby
2017-03-01 15:41:34 +08:00
给站长报告 bug ,他改好了,你这边就正常了。
abc950309
2017-03-01 17:18:08 +08:00
text = res.text.replace('<', ‘&lt;’)
binux
2017-03-01 17:40:10 +08:00
这样的页面,浏览器就是解析成 <div>a<b< div=""></b<></div> 的,提取出 a<b 岂不是和用户看到的不一样了。
jy02201949
2017-03-01 17:43:19 +08:00
@abc950309 #2 应该 OK ,但是个页面这么搞,消耗资源太多了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/344073

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX