声明:参考资料“ 从零开始学Python网络爬虫 ”作者:罗攀,蒋仟机械工业出版社
Selenium浏览器是一个强大的网络数据采集工具,它可以让浏览器自动加载网络数据,从而来获取我们需要的信息。我们可以在朋友pycharm里面安装Selenium库。在Windows下安装Selenium模块教程如下:首先在pycharm打开 File -> setting -> Project untitled ->Project Interpreter 点击 “ + ” 加号,在弹出的界面搜索栏输入 Selenium,然后单击install Package即可:
由于 Selenium没有自带浏览器所以我们,我们需要下载浏览器来支持Selenium。通常有Chrome、Firefox、PhantomJS等用于pc端。由于PhantomJS是无界面的,速度快、开销小。是非常理想的,但是最新版本的Selenium已经不支持PhantomJS了,而Chrome浏览器跟Firefox浏览器也出了最新的Headless Chrome模式,即你在使用Selenium时,不会弹出浏览器页面。首先你要确保你的电脑安装有Chrome浏览器,以及ChromeDriver(连接:ChromeDriver)。下载完ChromeDriver之后惊奇解压,然后将Chromedriver.exe文件拷贝到Python所在的安装目录即可。然后在使用时需要进行相应的配置:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
#上面三行是为了使用Chrome的headless模式
#下面三行是为了打印百度浏览器的首页
driver = webdriver.Chrome(chrome_options = chrome_options)#指定浏览器为chrom浏览器
driver.get('https://www.baidu.com')
print(driver.page_source)
接下来我们使用Selenium来打印百度搜索的Python的第一页内容
from selenium import webdriver
#from selenium.webdriver.chrome.options import Options
#chrome_options = Options()
#chrome_options.add_argument('--headless')
#chrome_options.add_argument('--disable-gpu')
#driver = webdriver.Chrome(chrome_options = chrome_options)
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('python')
driver.find_element_by_id('su').click()
print(driver.page_source)
1、首先导入需要用到的库selenium,然后定义浏览器为Chrome浏览器
2、利用.get 来获取网址
3、利用 find_element_by_id 来定位搜索框,并将搜索框里面的内容 clear()
4、继续利用find_element_by_id 来定位搜索按钮 “百度一下” 并将其点击click一下
5、将搜索到的内容打印出来。
6、加了注释的为浏览器的headless浏览模式,有头浏览模式你可以观察selenium是如何自动打开浏览器,自动搜索内容的过程
7、关于如何获取 find_element_by_id(“ ”)里面的内容的:在搜索框右键->检查,然后就可以看到搜索框的 ID