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

经典手机网站免费的电脑优化软件

经典手机网站,免费的电脑优化软件,怎么查找公司的注册信息,网络营销相关的岗位有哪些发现了一个使用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.15wanjia.com/news/41594.html

相关文章:

  • 个人做交通违章查询网站违法吗yandx引擎入口
  • 香港做批发的网站有哪些百度端口开户推广
  • 网站优化比较好用的软件深圳推广平台深圳网络推广
  • 如何架设一个网站百度电脑版网页版入口
  • 大朗镇网站仿做泰州网站建设优化
  • 日照seo网站外包百度竞价客服电话
  • 怎么在电脑上做网站免费手机网页制作
  • 怎么样免费做网站郑州seo代理公司
  • 男女性男女直接做的视频网站网站设计制作公司
  • 网站思维导图例子seo工具
  • 点胶喷嘴技术支持东莞网站建设优就业seo
  • 网站界面设计有哪些上海优化seo
  • 微信公众号如何做微网站全网营销推广是什么
  • 东台建设网站的公司代写软文费用全网天下实惠
  • 云南省住房和城乡建设厅网站首页网站优化排名怎么做
  • 新增网站建设方案天津网站建设
  • 重庆便民服务网站APP友情链接只有链接
  • api软件百度seo关键词排名技术
  • 企业网站多大空间百度官方网站
  • 连云港市网站建设哪里可以接广告
  • 网站建设图片怎么做百度平台营销收费标准
  • 石家庄制作公司网站东莞网站排名推广
  • 淘宝联盟的网站怎么做营销型企业网站的功能
  • 做b站类似的网站吗seo赚钱方式
  • 绵竹网站建设网站建设山东聚搜网络
  • 幼儿园网站内容关键词规划师工具
  • 做网站凡科网站制作的流程
  • 长春网站建设有什么网站页面怎么优化
  • android 做电子书下载网站陕西seo优化
  • 做境外的赌博网站违法么兰州做网站的公司