最近在做网易云个人信息遍历抓取;
那么毛病就来了;
https://music.163.com/user/home?id=29879272
https://music.163.com/user/home?id=132128
这是两个个人主页; 29879272 这个呢,etree.HTML(源码),可以完全解析 html。
132128 这个呢,就 BUG 了,etree.HTML(源码),发现 html 被截断。
会被源码里面的 description 的 —— 双横线给截断了。简直奇葩;
有没有大神 look look。我发现这是一个 BUG
1
itskingname 2018-11-10 18:35:44 +08:00 via iPhone
lxml 不要用 etree.HTML。换成
from lxml.html import fromstring selector = fromstring(source) selector.xpath(...) |
2
smallgoogle OP @itskingname 一样的。都会被那个双横线给截断掉。
|
3
ioven 2018-11-11 08:36:26 +08:00
>音乐人。不定义,不局限。 —\\u0000 —\\u0000 微博
被零字符截断了,替换掉就行 |
4
smallgoogle OP @ioven 我是不是要先替换,才行。
|
5
ioven 2018-11-12 15:04:42 +08:00
|
6
rocketman13 2018-11-13 19:24:50 +08:00
最近处理 PostgreSQl 数据库写入时也遇到过\u0000 不能解析,字符串中 replace 掉就好了
|
7
canwushuang 2018-11-14 17:22:25 +08:00
python 模块采用 c 编写导致,而\u0000 是 unicode 表示的一个特殊字符,,在 c 里面用这个字符作为字符串结束的标志。
|