- 图书价格爬取分析
-
点击一个页面检查一下
-
在
json.cn
页面进行分析检查,因为有很多价格,市场价,会员价,因此我们只需要选择一种即可
- 图书价格ajax获取:
- 价格 url ----ajax请求 —发送单独获取数据的 —个数不确定
而我们要做的是一本书 对应一个价格
2.https://p.3.cn/prices/mgets?skuIds=J_12508277
sku_id = book.xpath('.div/@data-sku')
price_url = 'https://p.3.cn/prices/mgets?skuIds=J_{}'.format()
3.解析价格
# 解析价格
def parse_price(self, response):
item = response.meta.get('book')
# 1.获取 返回的 响应对象数据 ==body==bytes 二进制
data = response.body
# 2.将二进制的数据----string
data_str = data.decode()
# 3.将json格式的字符串 ---列表--字典
data_list = json.loads(data_str)
item['price'] = data_list[0]['p']
优化后的代码为:
# 解析价格
def parse_price(self, response):
item = response.meta['book']
item['price'] = json.loads(response.body.decode())[0]['p']
yield item
特别注意的是