数据爬取、Ajax 探讨

2017-02-23 14:29:00 +08:00
 bozong

淘宝商品月销量是 Ajax 异步加载//看回复

3107 次点击
所在节点    Python
18 条回复
bozong
2017-02-23 14:31:58 +08:00

做了请求的限制、



请大牛们提供下思路。伪造请求 IP ?
bozong
2017-02-23 14:35:49 +08:00
目测是做了请求源的限制、、、
allenling
2017-02-23 14:38:39 +08:00
貌似这个 API 需要店铺的 session ID 这类的 token 吧,具体需要阿里的文档,哪些 API 是需要 session ID 的
mhycy
2017-02-23 14:49:29 +08:00
代理池搞起
bozong
2017-02-23 14:51:18 +08:00
@mhycy #4 限制很严的
xqin
2017-02-23 14:56:06 +08:00
同学,你搞错 URL 了吧?
你第一张图里明明是 `initItemDetail.htm` 这个 URL, 而你第二张图请求另一个地址是啥意思?

你不是想获取 销量吗?

只需要 设定 Referer 就可以请求到数据 .

```
$ curl -se "https://detail.tmall.com/item.htm" "https://mdskip.taobao.com/core/initItemDetail.htm?itemId=543399704177&callback=setMdskip" | grep
-Po "\"sellCount\":\d+,"
"sellCount":8308,

```
xqin
2017-02-23 14:57:42 +08:00
curl 执行之后后面的代码是
```
| grep -Po "\"sellCount\":\d+,"
```
用来匹配出来 销量, 上面帖代码的时候换行了, 最后 一行是 最终的输出结果.
bozong
2017-02-23 15:03:09 +08:00
@xqin #6 噢噢噢
bozong
2017-02-23 15:03:45 +08:00
@xqin #6 设定 Referer 也不行的吧
xqin
2017-02-23 15:11:13 +08:00
@bozong 你用的工具有问题吧? 或者 你的 ip 已经 被封了?
我上面发的 curl 的命令,你没执行一下试试?
因 V2EX 上面帖图片不太方便, 我就不帖 curl 执行结果的截图了.
bozong
2017-02-23 15:11:38 +08:00
@xqin #10 呃呃。好像可以了。感谢
xqin
2017-02-23 15:14:14 +08:00
curl 的执行结果截图:

bozong
2017-02-23 15:42:30 +08:00
@xqin #12
ltux
2017-02-23 15:46:24 +08:00
用 selenium
bozong
2017-02-23 15:47:12 +08:00
@bozong #13 可以了。通过其他方式去请求吧
bozong
2017-02-23 15:47:20 +08:00
@ltux #14 nice
bozong
2017-02-23 16:35:46 +08:00
@xqin #12 再次感谢
mingyun
2017-03-11 10:32:07 +08:00
@xqin

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342608

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX