1
lerry 2012-05-30 00:22:48 +08:00
京东的网页,红色的价格是图片,源码看不到的,只能看到“市场价”,你能看到?发个链接?
|
2
9hills 2012-05-30 00:27:55 +08:00
是图片无误,用OCR吧
|
3
road2stat 2012-05-30 01:19:57 +08:00
用 tcpdump + Wireshark 之类的分析一下京东 iOS app 的私有 API 就可以了。你懂的。
|
5
phuslu 2012-05-30 01:47:10 +08:00 3
两步可以拿到。
1. 模拟点击"加入购物车",拿到 cookie 2. 用这个 cookie 去访问 http://cart.360buy.com/cart/cart.html 绝大部分的购物网站可以用这个办法解决。 |
6
road2stat 2012-05-30 02:00:32 +08:00
@9hills 我跟了一下,没有使用 SSL / OAuth 之类的东西,就是一个简单的请求,返回一个简单的 JSON,你也可以做下实验。
即使是加上 SSL 的普通请求,也可以自建中间人把加密包解开然后进行分析。但是如果加上了 OAuth 的私钥什么的,可能会比较困难。 |
8
aa88kk 2012-05-30 08:39:33 +08:00
抓下图片, 然后用tesseract去识别, 某淘就是这么干的.
|
9
cutehalo 2012-05-30 09:10:22 +08:00 3
function jdPshowRecommend(url,stype) {
var title = "CAMEL/骆驼 2012新款男款纯棉短袖t恤透气休闲翻领polo衫夏季新品 017308 男款军绿 XL直降108 限时抢购 送给父亲最好的礼物 仅限30日"; var content = "我在@京东商城 发现了一个非常不错的商品:CAMEL/骆驼 2012新款男款纯棉短袖t恤透气休闲翻领polo衫夏季新品 017308 男款军绿 XL直降108 限时抢购 送给父亲最好的礼物 仅限30日,京东价:¥276.00。感觉不错,分享一下"; 看到这个微博分享的JS里面就有京东价了吧。。。京东还用图片来屏蔽个毛啊.... |
13
sarices 2012-05-30 09:41:31 +08:00
我之前都是用分享按钮的价格,不明白京东为何用图片显示
|
14
waterye 2012-05-30 09:48:24 +08:00
我猜是技术部门不同项目组独立干,没有统一规则。
|
15
kamal 2012-05-30 10:32:06 +08:00
LOL 网页里面直接输出了
function jdPshowRecommend(url,stype) |
16
tokki 2012-05-30 10:43:03 +08:00
这好玩 以后我要抓什么东西了 就发动一下大家一起来研究 太有趣了
|
17
c 2012-05-30 10:57:11 +08:00
收藏。我以为ocr是唯一的解决方案,没想到学习了这么多。
|
18
yuyuyu101 OP @9hills 我发现图书产品页不是图片 http://book.360buy.com/10058893.html
|
22
kxboy 2012-05-30 19:15:26 +08:00
这个帖子我喜欢,我前一段时间为此困扰好久。
|
23
Air_Mu 2012-05-30 19:49:18 +08:00
<script type="text/javascript">
function jdPshowRecommend(url,stype) { var title = "摩托罗拉(Motorola)ME722 3G手机(精锐蓝)WCDMA/GSM"; var content = "我在@京东商城 发现了一个非常不错的商品:摩托罗拉(Motorola)ME722 3G手机(精锐蓝)WCDMA/GSM,京东价:¥1458.00。感觉不错,分享一下"; var img ="http://img10.360buyimg.com/n1/4332/6e812b1c-2cbe-4bb2-a313-207121b32684.jpg"; var productUrl ="http://www.360buy.com/product/342079.html?sid="; var pin = readCookie("pin")||""; if (stype == "qzone") { url = url + "&title=" + content + "&pic=" + img + "&url=" + productUrl + pin; } if (stype == "sina") { url = url + "&title=" + encodeURIComponent(content) + "&pic=" + encodeURIComponent(img) + "&url=" + encodeURIComponent(productUrl) + pin; PostSinaDate(); window.open(url, "", "height=500, width=600"); } if (stype == "renren") { url = url + "title=" + title +"&content="+ content + "&pic=" + img + "&url=" + productUrl + pin; } if (stype == "kaixing") { url = url + "rtitle=" + title + "&rcontent=" + content + "&rurl=" + productUrl + pin; } if (stype == "douban") { url = url + "title=" + title + "&comment=" + content + "&url=" + productUrl + pin; } if (stype == "MSN") { url = url + "url=" + productUrl + pin + "&title=" + title + "&description=" + content + "&screenshot=" + img; } if (stype != "sina") { window.open(encodeURI(url), "", "height=500, width=600"); } } //新浪分享POST数据 |
24
hnpdslyf 2012-05-30 22:03:04 +08:00
识别图片也不难啊,那么整齐的数字,分块对比一下就行
|
25
asnidea 2012-05-31 09:21:54 +08:00
不错,mark下
|
26
aerofloyd 2012-05-31 21:02:31 +08:00
感谢。。
|
28
vexfisher 2012-06-03 21:20:25 +08:00
同上
一个商品有N中属性组合,不同的属性组合对应的价格是不同的,所以这个JS函数的价格仅供参考啊 |
29
cangbaotu 2016-05-16 19:24:40 +08:00
你可以参考这篇教程,里面专门讲了如何写这类爬虫(异步加载,代码在神箭手云爬虫上可以直接跑): http://blog.csdn.net/youmumzcs/article/details/51385856
|