之前是用正则写的,虽然成功爬取了,但是要考虑的特殊情况太多,很烦。后来有人建议用xpath,所以学习了相关知识,改写原先用正则写的代码,但是碰到了一个问题网页的源代码如下:肖申克的救赎 / TheShawshankRedemption / 月黑高飞(港)/刺激1995(台)[可播放]导演:弗兰克·德拉邦特FrankDarabont 主演:蒂姆·罗宾斯TimRobbins/...1994 / 美国 / 犯罪剧情9.6987073人评价希望让人自由。我现在想提取导演演员那块的信息,根据所在位置我的代码如下(导演存在dirc中)):selc=etree.HTML(html)infos=selc.xpath('//div[@class="info"]')foraininfos:dirc=a.xpath('div[@class="bd]/p[@class=""]/text()')但这样写不对,网上的代码如下:info=i.xpath('div[@class="bd"]/p[1]/text()')我这样写和网上的不是一样吗?为什么我的不对?求高手指点,谢谢
2 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
网上的这种方式更加合理,info=i.xpath('div[@class="bd"]/p[1]/text()')另外你的这种方式:selc=etree.HTML(html)infos=selc.xpath('//div[@class="info"]')foraininfos:dirc=a.xpath('./div[@class="bd]/p[@class=""]/text()')#这样是否可行但是我还是觉得dirc=a.xpath('./div[@class="bd]/p[1]/text()')更好
添加回答
举报
0/150
提交
取消