昨天准备爬取一个京东商品的价格,正则写好了一直是空的
后来我去页面里面看了下,价格标签里果然是空的
百度了下,大家都说是js来控制显示价格的
于是去抓包试试,找到了一条mgets的请求
中间很多参数不知道是什么意思,但是skuIds就是商品的编号
去掉其他参数,只保留编号
https://p.3.cn/prices/mgets?skuIds=J_4609662
一样能得到响应
这个p就是price了,m不知道是什么,目前碰到的op个p的值是一样的,也不知道这个是啥意思
#-*- coding: utf-8 -*-
import urllib
import urllib2
import re
import json
import sys
#输出中文+字符串报错
reload(sys)
sys.setdefaultencoding('utf-8')
#商品编号
code='4609662'
#请求地址
url='https://p.3.cn/prices/mgets?skuIds=J_'+code
#获取地址
request=urllib2.Request(url)
#打开连接
response=urllib2.urlopen(request)
content=response.read()
result=json.loads(content)
json=result[0]
print '价格:'+json['p']