【发布时间】:2015-05-28 12:16:58
【问题描述】:
我正在尝试使用来自网站 Allociné(最大的法国电影数据库)的电影数据创建一个 .csv 文件,用于一个研究项目,使用 import.io 的 Crawler,因为我的编程知识很差(目前正在攻读生态学博士学位) 并且拥有一个易于理解的工具似乎是最好的主意。
对于我需要的每一部电影:
- 电影的标题
- 发布日期(FR 中的“Date de Sortie”)
- 电影的类型
这里是 Allociné 电影页面的示例(适用于《星球大战 I》):http://www.allocine.fr/film/fichefilm_gen_cfilm=20754.html
起初我尝试使用 import.io 的选择工具,但它不起作用,因为有些电影有两个发行日期而不是一个(例如上面的 SW1 - 1999 年的原始发行和 2012 年的 3D 发行(“重播”))-这与爬行者搞砸了。所以我不得不使用 XPaths 来识别我需要的元素。标题工作正常(使用//title),但我对发布日期和类型有疑问。
对于发布日期,我从页面源中提取的 XPath 是:
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[2]/td/a/strong/span
我在末尾添加了/@content,以获取yyyy-MM-dd格式的日期,导致:
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[2]/td/a/strong/span/@content
但是,import.io 无法识别我需要他找到的元素。
对于流派,同样的事情,我从 Chrome 获得了这个 XPath,用于第一个流派(科幻):
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[5]/td/a[1]/span
我需要 import.io 来收集所有流派,所以我从 a[1] 中删除了 [1] 以获得整个 a。
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[5]/td/a/span
也不行,import.io 返回一个空元素。
所以,任何关于它为什么不起作用的解释都将非常感激!很抱歉,如果我错过了一些显而易见的事情,正如我所说,我根本不是专家。
布莱斯
【问题讨论】:
标签: xml xpath web-crawler import.io