鱼C论坛

 找回密码
 立即注册
查看: 3753|回复: 3

关于python爬虫爬取天猫商品评论json数据失败

[复制链接]
发表于 2019-4-22 11:00:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Fed_22th 于 2019-4-22 11:02 编辑

代码如下
from urllib3 import *
import json
http = PoolManager()
def getRateDetail(itemId,currentPage):
    url = 'https://rate.tmall.com/list_detail_rate.htm?itemId=' + str(itemId) + '&spuId=1063465082&sellerId=2415630060&order=3&currentPage=' + str(currentPage) + '&... &callback=jsonp829'
    ua= {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
    r = http.request('GET',url,headers = ua)
    c = r.data.decode('GB18030')
    #替换相应的字符串
    c = c.replace('jsonp829(','')
    c = c.replace(')','')
    c = c.replace('false','"false"')
    c = c.replace('true','"true"')
    # 将json数据转换为字典对象
    #报错应该是出现在这步,因为c不是字典形式的字符串所以没办法转成字典
    tmalljson = json.loads(c)
    #我自己调试发现r = http.request('GET',url,headers = headers)这句请求下来的数据不是此url的界面数据,难道是被反爬了么
    return tmalljson
tmalljson = getRateDetail('577561301428',1)

####分割线#########
毕业设计求助求助求助,为什么url是对的,也伪装了浏览器的user-agent,dan但是请求下来的数据不是这个页面的东西呢

报错:
  File "C:\Users\Lebron\Anaconda3\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: Expecting value
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-22 19:11:17 | 显示全部楼层
仅从报错信息看是因为你解码方式用的不对,天猫的页面是gbk编码格式。

另外建议你把你的url复制到浏览起直接打开试试能不能看到数据,如果不能就是你的url出问题了。

下面是我找到一个url,复制到浏览起都可以的,
https://rate.tmall.com/list_deta ... ;callback=jsonp1406
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-22 20:54:32 | 显示全部楼层
cwhsmile 发表于 2019-4-22 19:11
仅从报错信息看是因为你解码方式用的不对,天猫的页面是gbk编码格式。

另外建议你把你的url复制到浏览起 ...

我的url能正常显示,但是偶尔就不行了。跟我刚才带你开你的url是一个症状。如下
jsonp1406({"rgv587_flag":"sm","url":"https://login.taobao.com/member/login.jhtml?style=mini&from=sm&full_redirect=false&redirectURL=https%3a%2f%2frate.tmall.com:443/list_detail_rate.htm/_____tmd_____/punish%3fx5secdata=5e0c8e1365474455070961b803bd560607b52cabf5960afff39b64ce58073f7844a8dd94c89edef01763e7bda2153e72fcab45d62d62d1d0fb9af411e98157f55151e037d30b894fa1b9f061
######分割线########
应该就是让我登陆的意思了吧,难道是我电脑测试太多次了被天猫记仇了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-22 23:33:41 | 显示全部楼层
Fed_22th 发表于 2019-4-22 20:54
我的url能正常显示,但是偶尔就不行了。跟我刚才带你开你的url是一个症状。如下
jsonp1406({"rgv587_fla ...

不晓得,应该是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-16 03:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表