比如: 我选取到 TABLE 里的 TR,保存给一个变量。这样得到一个列表,列表里的每个元素都是,一个 TR 对像(就是 LXML 对像,具体是啥记不得了。)
按我的理解来讲,这个列表里的每个元素再进行.xpath(//text()) 就是取到这行的所有文本信息。可实际上是他取到了 整个页面的所有 text(),这让我百思不得其解,我明明是节取到了 tr 了,tr 下面的 //text()难道不是取得这一行的文本吗?
到这里 我整个人都不好了。。。。。。
然后 我换了一种方试 改成 xxx.xpath(td/text()) 我 X 这样居然可以,顺利节取到了每行的文本信息。
可是~~~~~~~~~~~~~
定我疑惑的是,如果我在一开始,第一次选取 TR 的那时就写成 xxx.xpath(//table/tr/td//text())节取的却是这个 TR 下的 为什么我节取了 TR 后 保存为变量 再 //text()却是整个页面,,,,,,真的理解不了。
1
jakeyfly OP 还有,我 extract() 这个方法不管怎么用都 是说没这个属性。这是不是那个框架里的方法呀。我直接用 requests.get 到的不用 etree.HTML 也一样能用 xpath 是否 requests 内置 xpath
|
2
lance6716276 2018-02-27 13:13:05 +08:00 via Android
我也不能理解你说的“保存为变量”是怎么一个操作。上代码
|
3
lance6716276 2018-02-27 13:17:26 +08:00 via Android
哦突然看到 xpath 里最前面没加点…其实 po 不用说那么多内心戏的,直接贴代码解释就行了,排版看着舒服一点
|
4
imn1 2018-02-27 13:19:41 +08:00
.//text()
|