如何抓取JS动态生成的HTML

buddhatarzan 2014-09-04 04:33:53
最近帮别人做一个网页爬虫,遇到如下的一个页面
http://www.kmart.com/lego-duplo-174-disney-planes-8482-skipper-s-flight-school/p-004W006343307001P?sLevel=0&redirectType=SKIP_LEVEL

这个页面的HTML是通过JS动态生成的,右键查看源代码看不出来HTML,请问如何抓取,curl不行,有什么好的办法或者好的library可以用??谢谢
...全文
1709 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
caitengyuan33 2015-04-17
  • 打赏
  • 举报
回复
求解楼主告诉方法
save4me 2014-09-15
  • 打赏
  • 举报
回复
促销信息 http://www.kmart.com/content/pdp/v1/products/004W006343307001/promos?site=kmart&dealSetting=3 可能是不同地区的价格 http://www.kmart.com/shc/s/FetchPOPAPriceCmd?partNumber=004W006343307001&zipCode=[object%20Object] Ratings & Reviews http://www.kmart.com/content/pdp/ratings/single/search/Kmart/004W006343307001P&targetType=product&limit=10&offset=0 原价,促销价和时间,清仓价等信息,这个是你想要的 http://www.kmart.com/content/pdp/products/pricing/004W006343307001?variation=0®ionCode=0&storeId=10151 积分,抵扣等信息: http://www.kmart.com/content/pdp/eCoupon/userCoupon/Kmart/004W006343307001?upc=673419190947&version=1&ksn=6343307&priceType=1&price=39.99&quantity=1 其他的你自己抓包看一下就知道了,比如计算运费等等
buddhatarzan 2014-09-15
  • 打赏
  • 举报
回复
#17楼,首先非常感谢你能设身处地的为我解答问题!! 但是还有一个问题,这个json里没有价格信息,而价格信息是我最最需要的。你还有什么其他建议吗?
buddhatarzan 2014-09-15
  • 打赏
  • 举报
回复
#19, 谢谢你的回答,我已经找到了,都怪我没细致分析JS,多谢多谢~~~
buddhatarzan 2014-09-14
  • 打赏
  • 举报
回复
#11,#13,#14。。。。我问的是PHP,不是.Net
save4me 2014-09-14
  • 打赏
  • 举报
回复
我想你关心的是页面里面的产品信息而不是整个页面,如果是这样的话,你可以直接访问 http://www.kmart.com/content/pdp/config/products/v1/products/004W006343307001P?site=kmart 其中004W006343307001P是你最上面的网址里面p-后面问好前面的部分,抓取后的json字符串用相应的函数转换成对象就可以使用了。
引用 15 楼 buddhatarzan 的回复:
#11,#13,#14。。。。我问的是PHP,不是.Net
buddhatarzan 2014-09-14
  • 打赏
  • 举报
回复
继续顶,没有答案
buddhatarzan 2014-09-09
  • 打赏
  • 举报
回复
9楼,现成的何在?可否给个link?
会飞的Pikachu 2014-09-09
  • 打赏
  • 举报
回复
引用 11 楼 showbo 的回复:
js动态的生成的用服务器端的饿xmlhttpRequest那种对象获取不到的,除非已经写入到页面中,可以下载页面来分析,如果是ajax动态请求的,获取不到 你要知道ajax的接口,直接请求那个接口而不是页面 除非你自己写winform程序+webbrowser组件来实现页面加载,这样就可以获取到了
winform程序+webbrowser组件?求老大科普
datahandler2 2014-09-09
  • 打赏
  • 举报
回复
winform程序+webbrowser组件
topskyyy 2014-09-09
  • 打赏
  • 举报
回复
楼上版主来回帖的,好好学习一下!楼主的意思是想看源码但游戏页面已经封装了?
Go 旅城通票 2014-09-09
  • 打赏
  • 举报
回复
js动态的生成的用服务器端的饿xmlhttpRequest那种对象获取不到的,除非已经写入到页面中,可以下载页面来分析,如果是ajax动态请求的,获取不到 你要知道ajax的接口,直接请求那个接口而不是页面 除非你自己写winform程序+webbrowser组件来实现页面加载,这样就可以获取到了
秋之潴 2014-09-05
  • 打赏
  • 举报
回复
顶一下,坐等大神解答~
傲雪星枫 2014-09-05
  • 打赏
  • 举报
回复
proxy可以获取js处理后的html?
成都-狗蛋儿 2014-09-05
  • 打赏
  • 举报
回复
不就是新浪的SAE 上么,我说的代理就是 写一个 后台获取这个页面数据的代码,然后发到你自己的那一端
buddhatarzan 2014-09-05
  • 打赏
  • 举报
回复
回复2楼,何解?我的代码是在SAE上的,怎么建proxy?
frauzhou 2014-09-05
  • 打赏
  • 举报
回复
百度上有现成的。
buddhatarzan 2014-09-05
  • 打赏
  • 举报
回复
5楼?有没有例子之类的?我好参考一下
lizhigang770 2014-09-04
  • 打赏
  • 举报
回复
我也遇到这样的问题,关注一下
成都-狗蛋儿 2014-09-04
  • 打赏
  • 举报
回复
在自己服务端做个proxy
加载更多回复(1)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧