昨天准備爬取一個京東商品的價格,正則寫好了一直是空的
后來我去頁面里面看了下,價格標簽里果然是空的

百度了下,大家都說是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']
