自动操作浏览器之--无界面selenium爬虫

2021-03-27 16:03:51 浏览数 (1)

在之前已经学会了如何使用selenium驱动浏览器,并且做操作

详情请看:selenium自动化操作浏览器

但是selenium总是会打开一个浏览器,这次我们来看一个不用打开浏览器,做自动化操作的方式。

注:这个操作必须建立在前面的环境搭建成功的基础之上,所以自动操作浏览器还是要先了解的。

01、无界面获取网页内容

其实,无界面操作只是在有界面的操作的基础之上,增加一段代码,但整体看起来高大尚一点。另外使用无界面的操作,在爬虫方面比较多一点。可以通过各种定位直接获取到想要的元素。

在有界面操作浏览器的基础之上增加一行重要的代码:

代码语言:javascript复制
driver=webdriver.PhantomJS("phantomjs插件路径")

另外这里还需要下载一个插件,插件在公众后台回复获取。

获取界面信息就可以使用:

代码语言:javascript复制
from selenium import webdriver
driver=webdriver.PhantomJS()
#url打开的要打开的网址
driver.get(url="http://www.baidu.com")
driver.page_source()

然后操作还是之前的操作,只不过是多了一句代码。

02、selenium提取内容

无界面的操作获取页面信息搞定了,那怎么来获取指定内容呢!

操作还是如之前的操作,截屏,定位,这些都是相同的。

获取想要的指定内容,只需要这样:

根据之前的定位方式:然后加上

代码语言:javascript复制
.text()

具体得来看一个例子:

代码语言:javascript复制
from selenium import webdriver

driver=webdriver.PhantomJS()
#url打开的要打开的网址
driver.get(url="http://www.baidu.com")
driver.page_source()#获取页面html
#通过id定位元素并获取定位的内容
driver.find_element_by_id("su").text()
#获取id为'su'的元素的内容

那所有的问题是不是解决了。

0 人点赞