Python 官方文档:入门教程 => 点击学习
本篇文章为大家展示了怎么在python中使用selenium实现一个网络爬虫,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、web开发;2、数据科
本篇文章为大家展示了怎么在python中使用selenium实现一个网络爬虫,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Python主要应用于:1、web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
selenium初始化
# 该方法会打开Goole网页from selenium import WEBdriverurl = '网址'driver = webdriver.Chrome()driver.get(url)driver.maximize_window() # 实现窗口最大化
# 该方法会隐式打开goole网页from selenium import webdriverurl = '网址'driver = webdriver.ChromeOptions()driver.add_argument("headless")driver = webdriver.Chrome(options=driver)driver.get(url)
driver = webdriver.Chrome()出错是因为没有chromedriver.exe这个文件
元素定位
在selenium中,可以有多种方法对元素进行定位,个人通常喜欢用Xpath和selector来定位元素,这样就不用一个一个的去找节点,直接在网页上定位到元素复制就行。
driver.find_element_by_id() # 通过元素ID定位driver.find_element_by_name() # 通过元素Name定位driver.find_element_by_class_name() # 通过类名定位driver.find_element_by_tag_name() # 通过元素TagName定位driver.find_element_by_link_text() # 通过文本内容定位driver.find_element_by_partial_link_text()driver.find_element_by_xpath() # 通过Xpath语法定位driver.find_element_by_CSS_selector() # 通过选择器定位
注:若寻找多个元素,要记得用复数来选择(element改为elements)
# 例如[i.text for i in driver.find_elements_by_xpath()]
建立点击事件
因为有些网站的需求,需建立点击事件,
如下图的这种时间选择,需要设置点击和输入内容,设置的方法也很简单。
driver.find_element_by_css_selector('').click() # 点击driver.find_element_by_css_selector('').send_keys('2021-3-9') # 输入内容
切换窗口
有些网站点击之后会产生新窗口,这时就需要进行窗口的切换才能进行元素定位
win = driver.window_handles # 获取当前浏览器的所有窗口driver.switch_to.window(win[-1]) # 切换到最后打开的窗口driver.close() # 关闭当前窗口driver.switch_to.window(win[0]) # 切换到最初的窗口
iframe问题
有些网站会采用iframe来编写页面,这时就需要进入到iframe才可以获取元素,一般有多少个iframe就需要进入多少个iframe。
# 有两个iframe,需逐步进入iframe1 = driver.find_element_by_xpath('')driver.switch_to.frame(iframe1)iframe2 = driver.find_element_by_xpath('')driver.switch_to.frame(iframe2)
上述内容就是怎么在python中使用selenium实现一个网络爬虫,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网Python频道。
--结束END--
本文标题: 怎么在python中使用selenium实现一个网络爬虫
本文链接: https://lsjlt.com/news/250842.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0