简单说一说:

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. JAVA第2课

         JAVA   第二课 Eclipse 在加载JAVA环境出错的时候处理办法: 项目-属性-Java build path-add library -JRE system library-OK ...

  2. 实现简单的ssh功能

    客户端代码: # -*- coding=utf-8 -*- __Author__ = "Dennis" import socket client = socket.socket() ...

  3. Vmware Vsan 部署中如何将非SSD 硬盘标识为SSD

    通过SSH 登录ESXi主机 # esxcli storage nmp device list #查询ESXI 发现的存储设备 #   esxcli storage nmp satp rule add ...

  4. 微信小程序swiper 前后边距的使用

    小程序中有一个组件swiper 就是滑块视图容器 其中提供了两个属性 previous-margin:前边距,可用于露出前一项的一小部分       next-margin:后边距,可用于露出后一项的 ...

  5. 牛客练习赛 43 B-Tachibana Kanade Loves Probability

    链接:https://ac.nowcoder.com/acm/contest/548/B 题目描述 立华奏在学习初中数学的时候遇到了这样一道大水题: “设箱子内有 n 个球,其中给 m 个球打上标记, ...

  6. iOS Build Apps for the World WWDC

    Programming Resources https://developer.apple.com/internationalization/ WWDC Session Videos Internat ...

  7. mybatics问题记录

    一.Parameter 'name' not found. Available parameters are [0, 1, param1, param2]. 传入多个值时,mybatis会自动将这些值 ...

  8. c/c++ 栈与队列实现车库的出入与收费

      /* 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列 (大门在最南端,最先到达的第一辆车停放在车场的最北段),若停车厂内 ...

  9. ionic 3.0中使用原生插件ionic-native

    作为一个ionic的新手,今天使用了ionic的原生粘贴板插件  @ionic-native/clipboard,根据ionic官方文档上执行的命令 $ ionic cordova plugin ad ...

  10. final发布用户使用报告

    用户数量:13人 姓名如下(包括化名):张小斌.王瑞瑞.蛋蛋.小美.晨曦.小丽.张利刚.小闫.小谢.小崔.小欢欢.小胡胡.小霞霞 寻找的用户多为王者荣耀交流协会成员的同学,对PSP Daily软件有极 ...