求大神解读,帮助小白噻

2017-12-07 01:17:21 +08:00
 Number13
improt urllib3

url = 抓取地址
http = urllib3.PoolManager()
result = http.request('GET', url)
r = result.data

这读取回来的数据里汉字全都是‘\xe5\xad\xa6 ’类似这样的数据,一旦用.decode('utf8')解码的话,就会少一部分数据,而少的那一部分数据正是我要的,恐怖不,这该咋整,萌新求助!求带飞
2449 次点击
所在节点    Python
11 条回复
zhengjian
2017-12-07 02:14:14 +08:00
Carseason
2017-12-07 03:02:06 +08:00
你需要框架来帮助奴解析一些 js,还有记得使用 head 头
ioven
2017-12-07 07:28:16 +08:00
import requests

r = requests.get(url)
print(r.text)
lhx2008
2017-12-07 08:00:04 +08:00
小白用 request
likuku
2017-12-07 09:01:58 +08:00
小白用 request +10086
likuku
2017-12-07 09:02:32 +08:00
额,是 requests
Number13
2017-12-07 10:24:43 +08:00
然鹅,用 requests 介个还是丢数据,就是我要的数据用 php file_get_contents()就能拿到,但 python 拿回字节对象时,解码后就没了……这我就……
Number13
2017-12-07 10:57:17 +08:00
再次尝试 接:
r = result.data.decode('utf-8')

这里回显的数据仍然是没有想要的部分,但是字节对象中却是有
大胆的先用正则取一下解码后的数据,居然取到了(ΩДΩ) 很是神奇啊,同样的代码,用 python 的 shell 跑一下,居然可以回显出想要的数据,很是神奇
sosilver
2017-12-07 10:57:52 +08:00
返回的网页用的什么编码方式?
Number13
2017-12-07 10:58:35 +08:00
@sosilver 目标网址是 utf-8 的编码
Number13
2017-12-08 09:51:52 +08:00
炸了,找到症结所在,pycharm 对一些转码可能有缺陷,在控制台这样输出 print('-------测试数据---------\r\t') 这文字就没了…………好了就此结贴

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

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

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

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

© 2021 V2EX