京东图书详情页定价获取

京东图书详情页的定价无法直接获得,价格由类似http://p.3.cn/prices/mgets的URL提供。
假设我们需要获取https://item.jd.com/10020908286750.html的定价。
在这里插入图片描述

根据开发者工具可以获取对应的定价的URL为:http://p.3.cn/prices/mgets?type=1&callback=_getSkuPrice&skuIds=J_10020908286750
注意!skuIds=J_1002090828675010020908286750.html的对应关系。
获取到的结果如下图,其中"m":"88.00"为定价。
在这里插入图片描述
思路:
(1)根据价格URL获取价格数据
(2)使用正则表达式提取价格数据
注意! 爬虫也要讲道德,爬取频率不要太高,每次请求休眠5秒左右,要不然服务器会主动中断连接。
代码:

In [1]: import re
In [2]: import requests
In [3]: price_url='http://p.3.cn/prices/mgets?type=1&callback=_getSkuPrice&skuIds=J_10020908286750'
In [4]: price_content= requests.get(price_url).content
In [5]: price_content
Out[5]: b'_getSkuPrice([{"p":"48.40","op":"48.40","cbf":"0","id":"J_10020908286750","m":"88.00"}]);\n'
In [6]: price_info=price_content.decode()
In [7]: price_info
Out[7]: '_getSkuPrice([{"p":"48.40","op":"48.40","cbf":"0","id":"J_10020908286750","m":"88.00"}]);\n'
In [8]: price=re.findall(r'm\":\"(.*?)\"', price_info)[0]
In [9]: price
Out[9]: '88.00'
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值