python 获取网页内部跳转源码
2013-11-26 来自:Stand by... 2 人回应

RT,本人想通过抓取淘宝某个产品的“评价详情”里面同一个账号评价的次数来确定这个卖家是否刷信誉,现在的问题是,“评价详情”点击之后网页发生了内部跳转,url为原来的淘宝网址加上#reviews,而我通过urlib2捕捉到的网页是之前没跳转的网页,所以就无法捕捉到关于评价的那个网页源码,求高手赐教!!

2013-11-27 来自:迷子

对于动态加载的内容,用浏览器的开发者工具查看加载的URL就可以了。

先打开产品的页面,然后打开开发者工具的网络栏,再点击“评价详情”,你就可以看到一堆请求。我用Opera是这样的:

然后再找到你想要的那部分内容在那个请求里,例如我这里的是

http://rate.taobao.com/feedRateList.htm?callback=jsonp_reviews_list&userNumId=735065091&auctionNumId=21860487756&siteID=4&currentPageNum=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和授权问题。

2013-11-27 来自:天然呆到自然萌

对于动态加载的内容,用浏览器的开发者工具查看加载的URL就可以了。

先打开产品的页面,然后打开开发者工具的网络栏,再点击“评价详情”,你就可以看到一堆请求。我用Opera是这样的:

然后再找到你想要的那部分内容在那个请求里,例如我这里的是

  
http://rate.taobao.com/feedRateList.htm?callback=jsonp_reviews_list&userNumId=735065091&auctionNumId=21860487756&siteID=4&currentPageNum=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

您的回应

你还未登陆,不能回应!登陆