Python网络爬虫:Selenium驱动浏览器做各种动作(跳转、输入、点击、下拉等)

之前学习使用了pyquery包的爬虫,这次学习利用selenium包,这个包主要是可以驱动浏览器进行一系列动作,包括打开浏览器、给搜索框输入指定内容、点击搜索按钮、跳转页面等动作,通过selenium包里的一些方法可以轻松实现这些动作。
不光如此,再进行爬虫时有些网页会有js的渲染(之前没有深入了解过js,对于这个渲染一词也确实了解的不是很明白,不过这里先记下这个原因吧),如果利用之前的request等包可能不行,所以selenium主要用来解决js的渲染问题。
这部分的爬取我只是简单的学习了,对浏览器(这里以Chrome()为例)的驱动,进行一些跳转、输入、点击的动作,当然还不够深入。
一、驱动浏览器打开豆瓣读书首页,打印网页源码,关闭浏览器:

from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://book.douban.com/')//打开豆瓣读书获取网页源码
print(browser.page_source)
browser.close()

二、驱动浏览器打开豆瓣读书首页,爬取豆瓣读书某个class下的元素并打印,关闭浏览器:

from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://book.douban.com/')
inout_first=browser.find_elements_by_css_selector('.slide-list ul')//查找class下的元素
print(inout_first)
browser.close()

三、驱动浏览器打开百度首页、在搜索框中输入book文本、点击搜索按钮、跳转到搜索结果页面:
注:这一系列动作不需要手动操作

from selenium import webdriver
driver=webdriver.Chrome()
driver.get('https://www.baidu.com/')//打开百度
input=driver.find_element_by_id('kw')
input.send_keys('book')//在百度输入框中输入book
button=driver.find_element_by_id('su')
button.click()//点击搜索按钮进行搜索

四、驱动浏览器按先后顺序打开百度、淘宝、豆瓣读书三个网站首页,之后从豆瓣读书首页回退跳转到淘宝首页,再从淘宝首页回退跳转到百度首页,之后再从百度首页前进跳转到淘宝首页:
注:这一系列动作不需要手动操作

from selenium import webdriver
driver=webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.get('https://www.taobao.com')
driver.get('https://book.douban.com')
driver.back()
driver.back()
driver.forward()

总结一下:
感觉selenium还是很神奇的,通过代码驱动浏览器进行一些动作,感觉像木马一样,还挺有意思的….

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值