当前位置: 首页 > news >正文

北京网站制作设计推广公司oa办公系统官网页版

北京网站制作设计推广公司,oa办公系统官网页版,如何设计一个网页动态效果,兼职网站建设收费发现了一个使用Selenium的find_element模块,快速获取文字和表格的方法,很实在,以后爬网的时候,就不用beautifulSoup 和 pandas的read_html 混起来用了! 文字部分:实现网络节点下,某个节点下的其…

发现了一个使用Selenium的find_element模块,快速获取文字和表格的方法,很实在,以后爬网的时候,就不用beautifulSoup 和 pandas的read_html 混起来用了!

文字部分:实现网络节点下,某个节点下的其他子孙节点的文字的拼接
表格部分:实现获取表格,并转为列表格式

话不多说,码上:

1. 获取文字的部分

如果是简单的文字,直接用text就完成了:

xpath_name='//div[@class="example"]'
driver.find_element(By.XPATH,xpath_name).text

但是有时候,有些文字就会分成很多个节点,要把这些文字拼起来就很麻烦,例如:

在这里插入图片描述

有时候在网络节点里,一会是span 标签,一会是a标签,一会是p标签。

就算是用beautifulSoup 来解也很难搞得齐全,用find_element的xpath 来定位也很难搞,也是要考虑层级结构的问题的。

这里可以用上 find_element + 遍历后代节点的方法:

在上面的例子中,我只需要找到id=content 的第一层节点,然后找到该节点下的所有子节点和子孙节点下的text,这样就可以把他们拼凑起来了:

1.1 获取所有子孙节点的写法:

如果你想要从特定的父元素开始获取所有子节点,你可以结合使用标签选择器和.//

children_elements = parent_element.find_elements(By.XPATH, './/p')

在这个例子中,'.//p'是一个XPath表达式,它意味着“选择当前节点下所有的<p>标签,包括所有层级的后代节点”。

1.2 如果只是获取子节点的话,则是:

children_elements = parent_element.find_elements(By.XPATH, './*')

其中,XPath中的'.'代表当前节点,'/child::* '代表选择当前节点的所有直接子节点。

完整写法:

from selenium import webdriver
from selenium.webdriver.common.by import By# 创建WebDriver实例,这里以Chrome为例
driver = webdriver.Chrome()# 打开目标网页
driver.get("你的目标网页URL")sleep(random.uniform(2, 3))#获取文字部分
#获取第一层节点,父亲节点
parent_element=driver.find_element(By.ID ,'content')
#获取所有
children_elements = parent_element.find_elements(By.XPATH, './/p')
new_content=''# 遍历所有找到的<p>标签的后代节点,并打印它们的标签名和文本
for child in children_elements:#print(f"Tag: {child.tag_name}, Text: {child.text}")new_content=new_content+child.textprint('最后实现的文字:',new_content)

在这里插入图片描述

2. 获取表格的部分

获取表格的逻辑是:

1.使用find_element方法定位到表格元素。
2. 使用get_attribute('outerHTML')打印表格内容(可选) 这个方法打印的是含有表格的源码,而非表格的内容
3. for循环遍历表格行和单元格,打印出每一行的单元格文本,以列表的形式显示。

完整逻辑:

from selenium import webdriver
from selenium.webdriver.common.by import By# 创建WebDriver实例
driver = webdriver.Chrome()# 打开目标网页
driver.get("http://example.com/some_page_with_tables.html")# 定位表格元素
table = driver.find_element(By.TAG_NAME, 'table')# 方法1:打印整个表格的HTML
print(table.get_attribute('outerHTML'))# 方法2:遍历并打印表格的每一行和单元格内容
rows = table.find_elements(By.TAG_NAME, 'tr')
for row in rows:cells = row.find_elements(By.TAG_NAME, 'td')cell_texts = [cell.text for cell in cells]print(cell_texts)# 关闭浏览器
driver.quit()

在这里插入图片描述

http://www.yayakq.cn/news/133729/

相关文章:

  • 自建网站有哪些wordpress 主机 设置ftp
  • 单页面网站设计网站开发it项目规划书
  • 静态网站说明书广东哪家网站建设
  • 静态网站设计方案如何创建一个个人网页
  • 最基本最重要的网站推广工具是有没有好的做海报的网站
  • WordPress多站点开启多语言做推广必须知道的网站吗
  • 郑州网站模板湖北网站备案需要多久
  • 中国有哪些网站可以做兼职丛台企业做网站推广
  • 下载别人dede网站模版php建设网站怎么用
  • 找人制作网站 优帮云.net网站开发架构
  • 西安烽盈网站建设推广商城网站开发业务
  • 网站建设立项申请报告东莞企业网站建设推广
  • 东营网站建设入门建站优化一条龙
  • 快递网站建设需求分析电商网站人员配置
  • 北海网站开发网站备案加速
  • 昆明网站制作的教程怎样简单做网站
  • 浙江省建设安监站网站线上问诊网站建设
  • 郑州做网站哪里便宜义乌市网站建设代理
  • 邓亚萍做的网站wordpress 定时 检查
  • 怎么做一个商城网站如何自学做网站
  • 建视频网站需要多大空间wordpress博客头图怎么改
  • 马云不会代码怎么做的网站网页设计素材网站花
  • 网站建设的战略作用内蒙古城乡建设厅网站
  • 企业sns网站需求wordpress模版seo
  • 做排行网站做网站 数据库
  • 设计外贸英文网站广州外贸型网站设计
  • 网站 攻击 刷流量家具设计大师
  • 浙江个人网站备案网页设计师证书报考条件
  • 建个人网站有什么好处店面设计餐饮风格
  • 怎么使用dw做一个网站深圳网站建设汤小巧