首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    练习爬虫,我想问一下这个xpath语句为啥找不到元素,感谢大佬!

    一、前言 前几天在Python钻石交流群【萤火】问了一个Python网络爬虫的问题,下图是截图: 下图是报错截图: 二、实现过程 这里【error】给了一个代码,如下所示,满足粉丝的需求: 用selenium...其实他的匹配规则是可以拿到数据的,只不过用jupyter运行selenium的时候容易出问题,也不推荐。 起码用其他的编译器来看,应该都可以实现的! 三、总结 大家好,我是皮皮。...这篇文章主要盘点了一个Python网络爬虫的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【萤火】提问,感谢【此类生物】、【瑜亮老师】、【error】给出的思路和代码解析,感谢【冫马讠成】、【猫药师Kelly】、【dcpeng】等人参与学习交流。

    40810

    Scrapy框架| 选择器-Xpath和CSS的那些事

    1 写在前面的话 这次接着上一篇文章来讲Scrapy框架,这次讲的是Scrapy框架里面提供的两种数据提取机制Xpath和CSS,其实除了这两种,我们还可以借助第三方库来实现数据的提取,例如...xpath代码: # -*- coding: utf-8 -*- import scrapy class ToScrapeSpiderXPath(scrapy.Spider): name =...实例: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点。 /bookstore 选取根元素 bookstore。...注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径! bookstore/book 选取属于 bookstore 的子元素的所有 book 元素。...bookstore//book 选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。

    1.3K30

    xpath定位随机元素之starts-with的用法

    相信有一部分朋友在做UI自动化的时候,会遇到有些元素,明明这次定位到之后,到时重新进入页面,里面的元素值就变样了。...下面我们来看看如何定位随机生成的元素~~ starts-with 如图,这个是我们公司的项目,在处理一个勾选框的时候,里面的id元素是随机生成的,我们可以使用xapth中提供的starts-with方法...,首先定位到 li 这个标签下,然后找到id的元素,可以看到id后面的那串数字都是随机生成的,每次进入页面都不一样,但是我发现前面的“cascader-menu”内容是固定的,因此我们可以使用starts-with...找元素内容从“cascader-menu”开始的元素 ends-with xpath中也提供了ends-with的方法,使用方法跟starts-with相同,它是以某字符串结尾的元素。...conatins //div[1]/div/div[3]//li[contains(@id, "cascader-menu")] [1] 使用xpath中的contains方法,也是可以的~大家可以根据需要结合使用

    1.9K10

    (原创)七夜在线音乐台开发 第三弹 爬虫篇

    这里给出XPath表达式的例子及对应的含义: /html/head/title: 选择HTML文档中 标签内的 元素 /html/head/title/text(): 选择上面提到的... 元素的文字 //td: 选择所有的 元素 //div[@class="mine"]: 选择所有具有 class="mine" 属性的 div 元素 上边仅仅是几个简单的XPath...在查看了网页的源码后,您会发现网站的信息是被包含在 第二个 元素中。...我们可以通过这段代码选择该页面中网站列表里所有 元素: response.xpath('//ul/li') 网站的描述: response.xpath('//ul/li/text()').extract...(url, self.parse_articles_follow_next_page) 上述代码将创建一个循环,跟进所有下一页的链接,直到找不到为止 – 对于爬取博客、论坛以及其他做了分页的网站十分有效

    1.1K31

    Selenium WebDriver找不到元素的三种情况

    今天抽点时间总结下Selenium WebDriver找不到元素的情况。 当然这里说的是css或者XPath都没写错,定位准确,也并非使用了不稳定的定位语句。...在当前页面找不到这个元素了,但是你自己手动复制到页面开发者工具上查看明明有啊,为啥在代码里面就找不到了呢?...解决: 只要刷新页面之后重新获取元素就行,不要提前获取一组元素,然后去循环操作每一个元素,这种情况还是获取元素的个数,然后在循环中获取相应位置的元素,在用的时候才去获取,这样你就获取到最新的id了,也不会出现找错人的尴尬了...我就使用了一个循环,但是最开始没细看,直接循环成了元素,到新页面验证完成之后又返回原来的页面继续定位,发现定位不了了;这时我才想起来不应该循环元素,应该循环元素的个数,在这个循环的过程中再来定位获取元素...情况二:iframe原因定位不到元素需要切换Iframe 【参考此文】 这种情况一般发生在有内嵌的iframe的情况下,需要切换一下iframe 另外注意的是有的页面会有多个iframe,找不到元素同样是没有切换

    5.3K50

    手把手教你用Python实现分布式爬虫(四) - scrapy爬取技术文章网站

    相关源码 搭建scrapy的开发环境,本文介绍scrapy的常用命令以及工程目录结构分析,本文中也会详细的讲解xpath和css选择器的使用。然后通过scrapy提供的spider完成所有文章的爬取。...-i https://pypi.douban.com/simple/ scrapy [1240] 注意安装的时候可能会报错,**twisted**找不到,那么就去https://www.lfd.uci.edu...后代节点 儿子节点,孙子节点 ... 3.3 xpath的语法 [1240] xpath 谓语 [1240] 其他语法 [1240] 如果想通过属性取值则需要给定标签元素的内容,如果是任意标签则给定*...在F12下,在某个元素上面右键即copy->copy xpath就能获得该元素的xpath路径 [1240] 在Firefox和chrom浏览器中右键copy xpath得到的结果可能不一样 在Firefox...:nth-child(2n) | 第偶数个tr | | ::text | 利用伪类选择器获得选中的元素的内容 | 几乎对于所有的元素来说,用xpath和css都是可以完成定位功能的,但对前端朋友来说比较熟悉前端的写法

    1.8K30

    Python爬虫入门教程 35-100 知乎网全站用户爬虫 scrapy

    继续使用scrapy当然对于这个小需求来说,使用scrapy确实用了牛刀,不过毕竟本博客这个系列到这个阶段需要不断使用scrapy进行过度,so,我写了一会就写完了。...你第一步找一个爬取种子,算作爬虫入口 https://www.zhihu.com/people/zhang-jia-wei/following 我们需要的信息如下,所有的框图都是我们需要的信息。...,比如间隔秒数,爬取的UA,是否存储cookies,启用随机UA的中间件DOWNLOADER_MIDDLEWARES middlewares.py 文件 from zhihu.settings import...匹配数组的第一项 dont_filter=False scrapy URL去重 # 起始位置 def start_requests(self): for url in self.start_urls...# 获取用户昵称 sex = select.xpath("//div[@class='ProfileHeader-iconWrapper']/svg/@class").extract()

    80130

    Python 爬虫之Scrapy《中》

    ,//表示文档下面的所有节点元素,/ 表示取当前节点的下一级元素 http://lab.scrapyd.cn/page/1/ 以下是本页面的网页源代码片段: >>> response.xpath("/...'>] >>> response.xpath("//body/header") #注意页面源代码加粗内容与以下的加粗内容是一致的,我要取的就是body下面的header 元素。...符号的使用,使用”.”表示当前节点元素,使用 xpath 可以连续调用,如果前一个 xpath 返回一个Selector 的列表,那么这个列表可以继续调用 xpath,功能是为每个列表元素调用 xpath...,最后结果是全部元素调用 xpath 的汇总。...'>] 总结:今天的分享主要是讲到了如何解析页面元素并提取出来,使用了非常多的方式去获取,在“Python 爬虫之Scrapy《上》”文章里面也是用了本文中提到的提取方式,大家可以回过来去再看看。

    86110

    Python分布式爬虫框架Scrapy 打造搜索引擎(四) - 爬取博客网站

    相关源码 搭建scrapy的开发环境,本文介绍scrapy的常用命令以及工程目录结构分析,本文中也会详细的讲解xpath和css选择器的使用。...注意安装的时候可能会报错,twisted找不到,那么就去https://www.lfd.uci.edu/~gohlke/pythonlibs/下载安装包,手动安装,安装的时候必须也是在这个虚拟环境内...后代节点 儿子节点,孙子节点 ... 3.3 xpath的语法 图片 xpath 谓语 图片 其他语法 图片 如果想通过属性取值则需要给定标签元素的内容,如果是任意标签则给定* 如果通过@class...在F12下,在某个元素上面右键即copy->copy xpath就能获得该元素的xpath路径 图片 在Firefox和chrom浏览器中右键copy xpath得到的结果可能不一样 在...nth-child(2n) 第偶数个tr ::text 利用伪类选择器获得选中的元素的内容 几乎对于所有的元素来说,用xpath和css都是可以完成定位功能的,但对前端朋友来说比较熟悉前端的写法,scrapy

    1.1K40

    scrapy框架精讲!如何在最短的时间内学会xpath语法

    XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。...XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。 因此,对 XPath 的理解是很多高级 XML 应用的基础。...这个是w3c上关于xpath的介绍,可以看出xpath是在xml文档中查询信息的语言 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。...XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。 根节点在xpath中可以用“//”来啊表示 XPath 使用路径表达式来选取 XML 文档中的节点或节点集。...节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 ? ? ?

    67810

    Scrapy(7) Shell 研究

    欢迎点赞,关注,收藏,分享四连击 Scrapy Shell Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式...() 来对 response 进行查询 Scrapy也提供了一些快捷方式, 例如 response.xpath()或response.css()同样可以生效(如之前的案例) Selectors选择器 Scrapy...Selectors 内置 XPath 和 CSS Selector 表达式机制 Selector有四个基本的方法,最常用的还是xpath: xpath(): 传入xpath表达式,返回该表达式所对应的所有节点的...>文档中 标签内的 元素 /html/head/title/text(): 选择上面提到的 元素的文字 //td: 选择所有的 元素 //div[...@class="mine"]: 选择所有具有 class="mine" 属性的 div 元素 尝试Selector 我们用腾讯社招的网站 http://hr.tencent.com/position.php

    61110

    《手把手带你学爬虫──初级篇》第6课 强大的爬虫框架Scrapy

    节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。...起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。...简单来说,我们通过Xpath可以获取XML中的指定元素和指定节点的值。在网络爬虫中通常会把爬虫获取的HTML数据转换成XML结构,然后通过XPath解析,获取我们想要的结果。...常用XPath表达式用法 表达式 含义 //div 选取页面上全部div元素 //div[@class='article'] 选取页面上属性class的值为article的div元素 //div[@class...title的span元素,由于这个span元素有多个,是同一层级下的并列关系,我们只提取第一个,因此需要用[1]获取。

    1.1K62
    领券