Python-python 获取网页内部跳转源码
RT,本人想通过抓取淘宝某个产品的“评价详情”里面同一个账号评价的次数来确定这个卖家是否刷信誉,现在的问题是,“评价详情”点击之后网页发生了内部跳转,url为原来的淘宝网址加上#reviews,而我通过urlib2捕捉到的网页是之前没跳转的网页,所以就无法捕捉到关于评价的那个网页源码,求高手赐教!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于动态加载的内容,用浏览器的开发者工具查看加载的URL就可以了。
先打开产品的页面,然后打开开发者工具的网络栏,再点击“评价详情”,你就可以看到一堆请求。我用Opera是这样的:
然后再找到你想要的那部分内容在那个请求里,例如我这里的是
http://rate.taobao.com/feedRateList.htm?callback=jsonp_reviews_list&userNumId=735065091&auctionNumId=21860487756&siteID=4¤tPageNum=1&rateType=&orderType=sort_weight&showContent=1&attribute=&ua=196u5ObXObBitH2MRYO9CMbIyszO1M7I2tMlkw%3D%7CuKBnf0fPx19XXwcPF48Xb7U%3D%7CuZFW7MsyPmVJUnWylQ0q7coDmHMvo4RehA%3D%3D%7CvoZB%2B4PbHCQc28Pr0%2BssFDxULOvz21NbnBQcFNPL42tjpCwkLPYs%7Cvyfgx%2BA6%7CvKSMS2x0TMTMVFxUDAQchBxkzMQjW3MbU9vjq%2FOrIztjSwN7XIY%3D%7CvaU9%2BkBYn8fPp2B48DcQmqZsS4ykY0vcBr6VvGR%2FtA4lCS70Lg%3D%3D%7Csvry%2Bj018toddbLKsnVtVc0KMmoy6A%3D%3D
发现这个请求是按JSONP的方式返回的,里面有个JSON对象包含有评论数据,这就是你想捉取的东西。
然后我们再猜一下各个请求参数是什么意思,例如ua好像是没用的,而auctionNumId就是产品的ID,当然还有再找几个页面验证一下。
还好淘宝没有弄得太复杂,对于一些更复杂的网站(例如典型的ASP.NET做的),你可能还有解析HTML里的一些标签,和处理cookies和授权问题。