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还是很神奇的,通过代码驱动浏览器进行一些动作,感觉像木马一样,还挺有意思的….

你可能感兴趣的:(网络爬虫,python,python)