我想抓取亚马逊的商品评论,由于现在亚马逊中商品评价部分的HTML几乎没有使用@class或者@id属性,所以我参照了http://www.gooseeker.com/cn/node/document/metaseeker/cookbookv4/blockattrdata.html
里关于amazon的方式来抓取亚马逊的评论。
我在抓取亚马逊商品评论的时候,发现有些商品的评论没有被抓取成功。通过观察亚马逊评论页面的DOM树结构,我发现是因为以下原因导致我所述的问题。
1.每条评论是一个DIV
2.评论中的每行是一个DIV(除评论的内容,评论的内容包含一个#text里)
3.评论的内容就在第3/4/5个DIV后面的#text里
但因为每条评论的结构可变,例如有些评论的第一行是“2/2 人认为此评论有用”,有些评论第一行就是这个评论的标题。
我的scheme里把第4个DIV后面的#text映射到评论的内容,所以其他位置的评论内容就抓不到。
我的scheme name是paperwhite_reviews.
求指导,谢谢。
用isBlock特性
双击一条信息属性,弹出的窗口中可以看到能够设置多个特性的复选框,其中一个是block,选中后,界面会修改,问你选择哪种isBlock,选择特定过滤器,选择“所有文本”,那么把每个评论对应的那个div用数据映射的方法映射给这个信息属性。这样就能把这个div下的所有text都抓取下来。
同问啊
我也遇到一样的难题,求大神指点。