鱼C论坛

 找回密码
 立即注册
查看: 2187|回复: 9

[已解决]关于xpath爬虫里面爬取网址链接的问题

[复制链接]
发表于 2020-8-22 17:38:35 | 显示全部楼层 |阅读模式

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

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

x
就比如<a href='http://............'>全国社会保障理事会</a>

用Xpath方法爬取我是这么写的:("//ul[contains(@class,'ntb')]/li/a")
爬到的是文字
我想要爬到的是那个网址,请教各位大佬应该怎么写吖
最佳答案
2020-8-23 17:57:08
937135952 发表于 2020-8-23 17:43
AttributeError: 'list' object has no attribute 'get_attribute'
真让人头大orz

把网址发一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-23 08:29:01 | 显示全部楼层
("//ul[contains(@class,'ntb')]/li/a/@href")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-23 17:08:34 | 显示全部楼层

InvalidSelectorException: invalid selector: The result of the xpath expression "//ul[contains(@class,'ntb')]/li/a/@href" is: [object Attr]. It should be an element.
  (Session info: headless chrome=81.0.4044.138)
  (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 10.0.18362 x86_64)


我用的selenium里面的.find_elements_by_xpath("//ul[contains(@class,'ntb')]/li/a/@href")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-23 17:21:41 | 显示全部楼层
937135952 发表于 2020-8-23 17:08
InvalidSelectorException: invalid selector: The result of the xpath expression "//ul[contains(@cla ...

那试试这样
("//ul[contains(@class,'ntb')]/li/a").get_attribute('href')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-23 17:43:12 | 显示全部楼层

AttributeError: 'list' object has no attribute 'get_attribute'
真让人头大orz
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-23 17:49:35 | 显示全部楼层
本帖最后由 疾风怪盗 于 2020-8-23 17:52 编辑
937135952 发表于 2020-8-23 17:43
AttributeError: 'list' object has no attribute 'get_attribute'
真让人头大orz


'list' object
是不是意思你这个取出来的是列表,先打印一下看看列表内容,是不是需要加个[0]这样取出元素再用.get_attribute('href')

参考https://blog.csdn.net/Beyond_F4/article/details/92647876
https://blog.csdn.net/hacklyc/article/details/65454285?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-23 17:57:08 | 显示全部楼层    本楼为最佳答案   
937135952 发表于 2020-8-23 17:43
AttributeError: 'list' object has no attribute 'get_attribute'
真让人头大orz

把网址发一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-24 19:08:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-24 19:17:46 | 显示全部楼层
1q23w31 发表于 2020-8-23 17:57
把网址发一下吧

懂了,browser.find_elements_by_xpath,改成browser.find_element_by_xpath就行了

先用这个 browser.find_element_by_xpath("//ul[contains(@class,'ntb')]/li/a")方法存储到列表里
然后在遍历列表找到href这个特征可以吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-24 19:20:13 | 显示全部楼层
1q23w31 发表于 2020-8-23 17:57
把网址发一下吧

ok,解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 03:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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