用Python爬取网页并用xpath解析,得到一个内容相同的集合,为什么

 我来答
就烦条0o
2018-08-02 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46489
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
问题出在你每次得到的都是同一个list 每次取list[0] 当然永远是重复的第一个元素。
问题出在这个//*[@id="newsRegion"]/ul/li 取得的所有的li不是一个个别的li。返回的list 虽然有几十个元素,但每一个用后面的xpath匹配都是可以得到相同的结果
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
残月临猫
2016-02-12 · 知道合伙人互联网行家
残月临猫
知道合伙人互联网行家
采纳数:382 获赞数:1506
参与TextBlob、Scrapy、Gooey 、spaCy、Pattern...等诸多Python开源库的开发、维护、翻译工作

向TA提问 私信TA
展开全部
不敢把代码贴上来麼?
内容相同的集合...空集不也是内容相同麼?
如果本来後面有.extract()去掉看看,如果去掉出不同了,
说明问题找到了...
因为你找错xpath了,你找了个无标签内容的节点
如果你说的相同都是一些标签,则尝试在最後加入 .extract()
或者在xpath(//xx/../ <- #这里加入 text() )试试
顺便送个神器-
随便收藏个页面到书签栏,右键属性把里面网址替换成下面👇的js
---------------------------------------------------------------------------------
javascript:(function()%7Bvar%20s=document.createElement('script');%20s.src='https://raw.github.com/tmanderson/XPath-Bookmarklet/master/src/xpathbookmarklet.min.js';%20document.getElementsByTagName('head')%5B0%5D.appendChild(s);%7D)();
---------------------------------------------------------------------------------
此物在任意页面按住shift移动滑鼠🖱️将准确显示xpath
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式