简单说一说:

requests配合xpath来抓网站数据的时候,不像selenium+xpath。

selenium有  find_element  find_elements,区别是带S ,查找第一个元素,和查找所有元素。

requests只有xpath,简单粗暴的直接查找所有元素。所以tag1,要带下标[0]来输出第一个对象,并且用.text来输出文字信息。

tag2,带下标[0]来输出第一个对象,并且用.text来输出文字信息。但是由于对象中有<br>标签,所以只能取得第一个<br>标签前面的数据。

tag3,我们在xpath规则中加入.text()规则,取得这个标签中的文字信息。由于有<br>标签,文字信息会因为<br>而分割称为列表。

我们可以自己重组列表,转为字符串:

b = [str(i) for i in tag3]
str = ''.join(b)
print('tag3-str-->',str)

或者不使用text()规则使用xpath('string(.)'):

print('tag2-->',tag2)
print('tag2[0]-string-->',tag2[0].xpath('string(.)'))
print('tag2[1]-string-->',tag2[1].xpath('string(.)'))

两种方式都可以正常获取td标签中带br标签的信息。

XPATH 要想获取的东西里不分段,不变成列表就用STRING(),不用TEXT()的更多相关文章

  1. js获取单选框里面的值

    rt,如果想获取单选框里面的值,该如何获取呢. <script> window.onload = function(){ //通过名字获取 getElementsByName //var ...

  2. JS获取ckeditor4.x里的值

    项目中有这样一个需求,使用ckeditor可以上传图片,需要在前端验证一下不可上传多于5张图片. 以下是查看源代码所看到的ckeditor里的值 <p>AAAAA</p> &l ...

  3. (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法

    (六)Net Core项目使用Controller之一 一.简介 1.当前最流行的开发模式是前后端分离,Controller作为后端的核心输出,是开发人员使用最多的技术点. 2.个人所在的团队已经选择 ...

  4. 7 C#变量-把你想要的东西存在C#程序里边

    现在你已经可以用Console.WriteLine("")在dos窗口里打印一些东西出来,而且你还会使用c#进行数学运算.接下来的一步你要开始学习使用变量了.用c#编程,变量就是一 ...

  5. 使用ng-if,获取不到里面的ng-model值,解决方案

    当使用ng-if时,是会把默认作用域删除的,当其为true时,只是增加了其界面元素,为最原始状态,控制器在其上是不起作用的,要想获取ng-if中的值,可以用$scope.$$childTail.lay ...

  6. xpath的文本获取

    xpath中tidyText()获取标签下所有文本, text()本级文本, allText()各级所有文本.

  7. pandas获取groupby分组里最大值所在的行,获取第一个等操作

    pandas获取groupby分组里最大值所在的行 10/May 2016 python pandas pandas获取groupby分组里最大值所在的行 如下面这个DataFrame,按照Mt分组, ...

  8. Mybatis 在 insert 之后想获取自增的主键 id

    记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要 ...

  9. Golang获取int数组里的最大值和下标

    package main import ( "fmt" ) func main() { //获取一个数组里最大值,并且拿到下标 //声明一个数组5个元素 ], , , ,} //假 ...

随机推荐

  1. C# 异常:索引超出了数组界限。

    数组如果只取到了三个元素, 而引用数组的时候引用了五个, 就会有此错误.

  2. .NET界面控件DevExpress发布v18.2.8|附下载

    DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...

  3. Java randomString

    public static String randomString(int strLength) { Random rnd = ThreadLocalRandom.current(); StringB ...

  4. win10安装java

    java安装还比较顺利,贴两篇亲测可行的教程 1.开发环境安装:https://www.cnblogs.com/shirley-0021/p/8510051.html 2.开发工具安装(Eclipse ...

  5. db2 常见错误以及解决方案[ErrorCode SQLState]

    操作数据库流程中,遇到许多疑问,很多都与SQL CODE和SQL State有关,现在把一个完整的SQLCODE和SQLState不正确信息和有关解释作以下说明,一来可以自己参考,对DB2不正确自行找 ...

  6. ZooKeeper 单机版安装和配置

    Zookeeper 下载链接:http://mirrors.shu.edu.cn/apache/zookeeper/ #wget https://mirrors.tuna.tsinghua.edu.c ...

  7. Java复数的加乘除运算

    //主要是对零的处理,有什么不对的地方欢迎批评指正,一起进步class complex{ double a,b; public String toString() { return("实部: ...

  8. centos 6.5 下 nginx 简单优化_虚拟主机_负载均衡

    # 用了nginx for win很久,安装也是超级简单.# 还是用一下linux版的吧.环境是centos 6.5 x64 # 安装开始: # 先安装依赖 yum install gcc-c++ y ...

  9. url_encode和base64

    在用一个某开源插件做封装,想要传一些参数进去. 多数字段都是普通字符串参数,但是有一个字段传的是json,结果发现这个插件一看到大括号和双引号就识别错误了. 不想改这个插件的源码,考虑自己传进去的时候 ...

  10. mysql 实现 sqlserver的row_number over() 方法

    1.创建表 CREATE TABLE `heyf_t10` ( `empid` int(11) DEFAULT NULL, `deptid` int(11) DEFAULT NULL, `salary ...