举报 使用道具
| 回复

共 7 个关于本帖的回复 最后回复于 2018-9-9 10:43

沙发
Fuller 管理员 发表于 2018-9-9 09:54:00 | 只看该作者
这个规则跨的区域太大了,应该选择以下方案之一:
1,要么采用嵌套整理箱,每个子箱子对应一个区域,各自用上定位标志映射,以精确划定范围。像“三条微博”那样
2,要么采用多个整理箱
举报 使用道具
板凳
Fuller 管理员 发表于 2018-9-9 09:57:09 | 只看该作者
要修改成嵌套整理箱,不需要重新建立抓取内容,只需采用移动菜单,右移或者左移
举报 使用道具
地板
Fuller 管理员 发表于 2018-9-9 10:06:45 | 只看该作者


这么复杂的规则应该分析一下数据规则的脚本程序。可以看到最顶层容器的定位xpath是:
  1. //*[@id='plc_frame']/div/div
复制代码

拷贝到下面的输入框,点击搜索按钮,可以看到定位到页面最顶部的那个区域,说明要采集的大部分内容其实都没有在这个区域。这样很不合理。另外,如果换一下定位偏好变成“偏好class”,那么顶层容器节点的定位表达式还能简单一些。

最关键的是不要把顶层容器节点定位到顶部那个区域。如果不可避免,也不要用following-sibling这样的相对定位表达式,如果用这样的相对定位,顶部区域和下部内容区域之间只要多一个或者少一个DOM节点,规则就会失效。那么就要用上定位标志映射

举报 使用道具
5#
Fuller 管理员 发表于 2018-9-9 10:22:57 | 只看该作者

我用嵌套整理箱,你可以试试,我把所有容器节点都用上定位标志映射,所以,定位偏好就可以不用改了,因为所有抓取内容都有手工指定的定位标志。我还用了一个自定义xpath,如图,参照一个内容来抓取另一个内容
举报 使用道具
6#
Fuller 管理员 发表于 2018-9-9 10:24:17 | 只看该作者


举报 使用道具
7#
Fuller 管理员 发表于 2018-9-9 10:32:10 | 只看该作者


关键内容设置的不合适,很多没有“作者简介”,不应该设置关键内容,相反,“代表作品”那个字段总是有
举报 使用道具
8#
Fuller 管理员 发表于 2018-9-9 10:43:08 | 只看该作者
我又修改了一下,“三条微博”那里又增加了一层嵌套,因为每条微博的class在不同博主空间是不一样,只能用样例复制。而划定微博区的class却是一样的。


下图的每条微博的class值就不一样,因为下面这个作者是vip




举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-4-27 05:43