Python爬虫基础讲解(十四):初探selenium——元素提取

Python爬虫基础讲解(十四):初探selenium——元素提取,第1张

概述Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542Python学习交流群:1039649593元素提取通过selenium的基本使用可以简单定位元素和获取对应的数据,接下来我们再来学习下定位元素的方法find_element_by_id#(根据id属性值获取 Python爬虫、数据分析、网站开发等案例教程视频免费在线观看
https://space.bilibili.com/523606542 
Python学习交流群:1039649593元素提取

通过selenium的基本使用可以简单定位元素和获取对应的数据,接下来我们再来学习下定位元素的方法

find_element_by_ID #(根据ID属性值获取元素)find_element_by_name #(根据标签的name属性)find_element_by_class_name #(根据类名获取元素)find_element_by_link_text #(根据标签的文本获取元素,精确定位)find_element_by_partial_link_text#(根据标签包含的文本获取元素,模糊定位)find_e1ement_by_tag_name #(根据标签名获取元素)find_e1ement_by_xpath #(根据xpath获取元素)find_element_by_CSS_selector #(根据css选择器获取元素)

 

上述方法只能查找页面某个标签元素,如果想获取多个元素可以在element后加字母s,如下所示:

find_elements_by_ID #(根据ID属性值获取元素,返回一个1ist列表)find_elements_by_name #(根据标签的name属性,返回一个1ist列表)find_elements_by_class_name #(根据类名获取元素,,返回一个List列表)find_elements_by_link_text #(根据标签的文本获取元素,精确定位,返回一个1ist列表)find_elements_by_partial_link_text #(根据标签包含的文本获取元素,模糊定位,返回一个1ist列表)find_elements_by_tag_name #(根据标签名获取元素,返回一个1ist列表)find_elements_by_xpath #(根据xpath获取元素,返回一个1ist列表)find_elements_by_CSS_selector #(根据css选择器获取元素,返回一个1ist列表)

 

案例:

以豆瓣首页为例:https://www.douban.com/

from selenium import webdriver#1.创建浏览器-->对象driver = webdriver.Chrome()# 2.发送请求driver.get("https://www.douban.com//")#3.获取标签<ID,class>#3.1 通过标签的ID值获取标签anonv-navresult1 = driver.find_element_by_ID("anony-nav")#对象print(result1)# 3.2根据标签的name属性值获取标签result2 = driver.find_element_by_name( ' description ' )print(result2)#3.3通过标签的c1ass属性值获取标签result3 = driver.find_element_by_class_name( ' anony-nav-7inks ' )print(result3)# 3.4通过标签包裹的文本'下载豆瓣App'获取元素列表(精确定位)resu1t4 = driver.find_element_by_link_text("下载豆瓣App")print(result4)#3.5通过标签包裹的文本"豆瓣",获取元素的列表(模糊定位)result5 = driver.find_element_by_partial_link_text("豆瓣")print(result5)# 3.6通过标签名获取元素列表result6 = driver.find_element_by_tag_name("div")print(result6)#3.7 通过xpath获取左上角豆瓣图片的<a>标签result7 = driver.find_element_by_xpath('/ /*[@ID="anony-nav"]/h1/a')print(result7)#3.8 通过css选择器获取左上角豆瓣图片的<a>标签result8 = driver.find_element_by_CSS_selector(' #anony-nav > h1 > a')print(result8)input()driver.close()

 

一般提取到页面元素,无非就是获取元素包含的文本内容或者元素的属性值,当你通过上述元素提取的方法获取元素以后,可以通过如下方法及属性,获取元素包含的文本以及元素指定的属性值:

send_keys('需要在输入框输入的字符串')#向输入框输入数据click() # 执行点击 *** 作text #获取元素包含的文本内容get_attribute( '属性名')#获取元素的属性值

 

案例如下:

from selenium import webdriverdriver = webdriver. Chrome()driver.get("https://www.douban.com/ ")#通过xpath获取左上角豆瓣图片的<a>标签,提取标签包含的文本内容"""text属性,可以提取标签包含的文本内容,支持链式调用"""result = driver.find_element_by_xpath('/ /*[@ID="anony-nav"]/h1/a' ).textprint(result)#通过xpath获取左上角豆瓣图片的<a>标签,提取标签的href属性"""get_attri bute('属性名')方法,可以根据属性名提取标签对应该属性的值,支持链式调用""resu1t2 = driver.find_element_by_xpath( '//*[@ID="anonynav"]/h1/a ').get_attribute('href' )print(result2)driver.find_element_by_CSS_selector('#anony-nav>div.anony-srh>form>span.inp>input[type=text]')#找到豆瓣的搜索框,输入关键字"肖申克的救赎",点击搜索"""send_keys('需要在输入框输入的字符串')# 向输入框输入数据click()#执行点击 *** 作"""input_str = driver.find_element_by_CSS_selector('#anony-nav>div.anony-srh>form>span.inp>input[type=text]')input_str.send_keys('肖申克的救赎')input_click = driver.find_element_by_CSS_selector('#anony-nav>div.anony-srh>form>span.bn>input[type=submit] ')input_click.click()input()driver.quit()

 

总结

以上是内存溢出为你收集整理的Python爬虫基础讲解(十四):初探selenium——元素提取全部内容,希望文章能够帮你解决Python爬虫基础讲解(十四):初探selenium——元素提取所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存