我正在研究移动电话多年来如何演变,所以我需要创建一个数据库,其中包含尽可能多的手机规格。我试图从GSM Arena网站上删除数据。
示例页面:http://www.gsmarena.com/samsung_galaxy_note7-8082.php
我使用的XPATH包含每个值前面的标签,例如 // tr [contains(。," Sensors")] / td [2]
但是有一些值,最后一个在类别中,没有前面的标签。
如何选择此信息:
不可拆卸的Li-Po 3500 mAh电池
或者这个ino:
快速充电 齐无线充电(市场依赖) ANT +支持 S-Voice自然语言命令和听写 MP4 / DivX / XviD / WMV / H.265播放器 MP3 / WAV / WMA / eAAC + / FLAC播放器 照片/视频编辑器 文档编辑器
请注意,不同的手机在页面上有不同的行数,因此在XPATH中使用[number]会从
中选择不同的信息http://www.gsmarena.com/samsung_galaxy_note7-8082.php - 需要选择第5行功能
http://www.gsmarena.com/samsung_sgh_600-49.php - 需要选择第8行功能
答案 0 :(得分:1)
要选择Battery部分中没有标签的行,您必须使用此xpath:
//tbody[.//th[contains(.,'Battery')]]//td[@class="ttl" and not(*)]/following-sibling::td
要从功能中选择信息,请使用此
//tbody[.//th[contains(.,'Features')]]//td[@class="ttl" and not(*)]/following-sibling::td
选择相机功能
//tbody[.//th[contains(.,'Camera')]]//td[@class="ttl" and contains(.,'Features')]/following-sibling::td
选择声音类别中的扬声器
//tbody[.//th[contains(.,'Sound')]]//td[@class="ttl" and contains(.,'Loudspeaker')]/following-sibling::td