【scrapy】关于xpath helper中能匹配,但是在程序里匹配为none的问题
原本使用xpath helper匹配的时候还是好好的,然鹅,把这个.//*[@id='novelInfo']/table/tbody/tr[3]/td[1]/复制到代码里就不行了,debug的时候显示none
novelMonthClick=response.xpath(".//*[@id='novelInfo']/table/tbody/tr[3]/td[1]/text()").extract_first() 这里debug结果时None
由于我要爬取的信息在第二个tap的一个表格里(网页打开时,默认显示tap1)原以为是因为js,试过用selenium来模拟,点击tap2:
self.driver = webdriver.Chrome()
self.driver.get(response.url)
time.sleep(3)
tap2=self.driver.find_element_by_id('novelInfoTab').click()
可是结果依旧 = =
搞了大半天,终于终于被我找到解决方法,感谢这位网友https://blog.csdn.net/u012836179/article/details/69950730
原因:浏览器复制的xpath会自动优化,自己加上tbody,其实网页源代码里是没有的。
解决办法:去掉xpath中的tbody即可。
果然将的上面的代码改为
novelMonthClick=response.xpath(".//*[@id='novelInfo']/table/tr[3]/td[1]/text()").extract_first()
再来debug就可以啦!!
而且事实证明上面使用那个selenium模拟点击并没什么卵用。。。所以这个纯粹只是浏览器自己添加了tbody的原因,和动态加载网友并木有关系。。。。
【scrapy】关于xpath helper中能匹配,但是在程序里匹配为none的问题的更多相关文章
- 11.在Chrome谷歌浏览器中安装插件XPath Helper的方法
1.首先在以下链接下载XPath Helper插件,链接:https://pan.baidu.com/s/1Ng7HAGgsVfOyqy6dn094Jg 提取码:a1dv 2.插件下载完成后解压,然后 ...
- python技巧 — Chrome浏览器中的 XPath Helper
用于XPath 爬取网页结构的时候使用, 安装后 快捷键调用 左边 ctrl+ shift+x 启动 安装流程: 1. 打开chrome浏览器,扩展程序 .搜索 XPath Helper 下载安装(前 ...
- 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...
- 谷歌浏览器使用SelectorGadget和Xpath Helper获取xpath和css path
在上篇文章里,介绍了如何在火狐浏览器中获取网页元素的xpath和css path. 这篇文章将介绍,在谷歌浏览器中使用SelectorGadget和Xpath Helper实现同样功能. 这两个谷歌浏 ...
- 09 Scrapy框架在爬虫中的使用
一.简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架.它集成高性能异步下载,队列,分布式,解析,持久化等. Scrapy 是基于twisted框架开发而来,twisted是一个 ...
- xpath定位中starts-with、contains和text()的用法
starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...
- XPath Helper使用教程
下载地址 百度网盘下载密码:yuuv下载完成后选择保留 安装 在导航栏中输入chrome://extensions:将.crx文件拖拽到扩展程序页面中,勾选已启用按钮. 使用 重启浏览器,快捷键CTR ...
- xPath Helper插件
xPath Helper插件 xPath helper是一款Chrome浏览器的开发者插件,安装了xPath helper后就能轻松获取HTML元素的xPath,程序员就再也不需要通过搜索html源代 ...
- Xpath Helper的使用
xPath Helper插件 xPath helper是一款Chrome浏览器的开发者插件,安装了xPath helper后就能轻松获取HTML元素的xPath,程序员就再也不需要通过搜索html源代 ...
随机推荐
- python学习笔记_week8
一.Socket 当服务端传的东西大于客户端的最大值时怎么办?①改大buffer不行(有上限)②多传几次(用for循环必须要知道循环几次,所以不用for循环,用while) 服务端: import o ...
- Maven上传jar包到私服
1.认证,在M2_HOME/conf/settings.xml配置用户名密码 <server> <id>releases</id> <username> ...
- 对比各节点host 与 标准节点host差异脚本
把各节点host拷贝到一台节点 这可以采用读主机名配置的方式 我这里偷懒了 echo 'starting' ssh hadoop01 "cp /etc/hosts ~/hadoop01-ho ...
- eclipse插件spket安装
1.
- 解决git中文乱码问题
三条命令fix乱码问题: git config --global gui.encoding utf-8 git config --global i18n.commitencoding utf-8 gi ...
- RADIDE MultiPaste
RADIDE MultiPaste https://community.embarcadero.com/blogs/entry/multipaste-in-the-rad-studio-ide htt ...
- 机器学习进阶-图像形态学操作-膨胀操作 1.cv2.dilate(进行膨胀操作)
1.cv2.dilate(src, kernel, iteration) 参数说明: src表示输入的图片, kernel表示方框的大小, iteration表示迭代的次数 膨胀操作原理:存在一个ke ...
- APP-7-百度地图移动轨迹
1.代码部分 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me ...
- xcode 自动签名、手动签名
手动签名:需要手动生成p12文件(私钥),然后将对应的公钥上传到开发者网站,生成证书,进一步生成对应的描述文件,然后在xcode中手动指定描述文件,这个描述文件中包含与本地p12文件对应的证书. 自动 ...
- copyOnWriteArray 并发包下的不安全(数组)集合
copyOnWriteArray 记录一下 package java.util.concurrent;//你没有看错,是这个包 private transient volatile Object[] ...