-
tboty问题:
当我们用浏览器直接copy Xpath 时(因为浏览器时实时解析),tbody这个元素是html生成时产生的,在使用xpath解析的时候无法解析,因此返回的列表为空值。
解决方法:把tbody去掉就行啦
-
路径问题:
完整路径(就是我们内容所在的位置的路径):/html/body/div[3]/div[2]/div[2]/div[1]/ul/li[2]/a
绝对路径(我们通过衔接路径(./),路径与完整路径相同):
大方向路径:title = html.xpath("/html/body/div[3]/div[2]/div[2]/div[1]/ul")[0]
li = title.xpath("./li/a/text()")
我们把两个路径连起来,和完整路径相同(/html/body/div[3]/div[2]/div[2]/div[1]/ul/li[2]/a),用(./)链接起来
./:代表之前的路径
相对路径:
完整路径:/html/body/div[3]/div[2]/div[2]/div[1]/ul/li[2]/a
大方向路径:title = html.xpath("/html/body/div[3]/div[2]/div[2]/div[1]/ul")[0]
for循环路径:./a/text()
通过观察发现:相对路径的 ./ 代表的到大方向路径之下的一个路径(li)。
我们再写相对路径的时候,不要跟完整路径混合。
写成完整路径不会报错,也能解析成功,会返回列表
for ti in title:
t = ti.xpath("./a/text()")
print(t)
附图: