鱼C论坛

 找回密码
 立即注册
查看: 1255|回复: 2

[已解决]请教大佬们 xpath中的问题!!!

[复制链接]
发表于 2019-8-12 10:50:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. oneRe = requests.get(url,headers=headers,proxies=proxies,verify=False)
  2. tree = etree.HTML(oneRe.text)
  3. html_data = tree.xpath("//div[@id='pages']//a[2]")
复制代码


上述代码中  定位第三个a标签为啥没有用,使用这种位置匹配的方法。  把  [2]  删除  就能匹配到所有的a标签

关键是 在浏览器的xpath插件上  此代码是可以精准匹配到第三个a标签的
最佳答案
2019-8-12 14:28:55
你的这个代码应该是提取翻页标签的时候用的吧,我用鱼C论坛的python交流板块测试了下

  1. base_url = 'https://fishc.com.cn/forum.php?mod=forumdisplay&fid=173&filter=typeid&typeid=392'
复制代码


//span[@id="fd_page_bottom"]//div[@class="pg"][last()]//a[1] 表达式选择的是第1个a标签。

所以你说的代码选择的应该是第二个a标签。xpath这种用法并不是从0计数。
  1. html_data = tree.xpath("//div[@id='pages']//a[2]")
复制代码


还有你爬取的url是什么样子的没说,我们根本没法帮你测试啊。

7.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-12 11:12:49 | 显示全部楼层
a前面换成一个反斜杠试试看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-12 14:28:55 | 显示全部楼层    本楼为最佳答案   
你的这个代码应该是提取翻页标签的时候用的吧,我用鱼C论坛的python交流板块测试了下

  1. base_url = 'https://fishc.com.cn/forum.php?mod=forumdisplay&fid=173&filter=typeid&typeid=392'
复制代码


//span[@id="fd_page_bottom"]//div[@class="pg"][last()]//a[1] 表达式选择的是第1个a标签。

所以你说的代码选择的应该是第二个a标签。xpath这种用法并不是从0计数。
  1. html_data = tree.xpath("//div[@id='pages']//a[2]")
复制代码


还有你爬取的url是什么样子的没说,我们根本没法帮你测试啊。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-4 08:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表