save set href win mod quit -s pytho for
python爬虫:利用selenium.webdriver获取渲染之后的页面代码!
1 首先要下载浏览器驱动:
常用的是chromedriver 和phantomjs
chromedirver下载地址: https://npm.taobao.org/mirrors/chromedriver
phantomjs下载地址: http://phantomjs.org/download.html
使用chromedriver要保证有chrome浏览器
2 安装
phantomjs:
将下载好的文件 解压缩(此处版本用xxx代替了)
tar -xvf phantomjs-xxxx.tar.bz2
将压缩结果移动到系统目录去(此处版本用xxx代替了)
sudo mv phantomjsxxx /usr/local/src/phantomjs
创建软连接到系统环境 这样就可以使用phantomjs命令了
sudo ln -sf /usr/local/src/phantojs/bin/phantomjs /usr/local/bin/phantomjs
将系统环境目录下的软连接 添加执行的权限
sudo chmod u+x,o+x /usr/local/bin/phantomjs
检验一下正常使用: 返回版本信息就代表能正常使用
phantomjs --version
chromedriver:
将下载的文件移动到系统目录去:
sudo mv chromedriver /usr/local/bin/chromedriver
改变用户执行的权限:
sudo chmod u+x,o+x /usr/local/bin/chromedriver
检验是否正常使用:
chromedriver --version
3 程序代码:
- from selenium import webdriver
- import time
- # 获取一个Chrome的驱动
- driver = webdriver.Chrome()
- ‘‘‘
- 发送请求
- ‘‘‘
- driver.get(‘http://www.baidu.com/‘)
- # 设置打开窗口的大小
- driver.set_window_size(1024,768)
- ‘‘‘
- 获取页面内容的常用方式
- ‘‘‘
- # 获取元素并输入内容
- driver.find_element_by_id(‘kw‘).send_keys(‘苹果‘)
- # 获取元素并点击
- driver.find_element_by_id(‘su‘).click()
- # 利用xpath获取
- # div_list = driver.find_element_by_xpath(‘//div‘)
- #利用页面内容
- # next_page = driver.find_element_by_link_text(‘下一页‘).get_attribute(‘href‘)
- # 将浏览器页面截图保存本地
- driver.save_screenshot(‘./百度.png‘)
- # 获得浏览器的页面源码(经过渲染之后)
- html = driver.page_source
- print(‘*‘*50)
- # 获取页面的cookies
- cookie_list = driver.get_cookies()
- # cookie 转换成字典
- cookies = { dict[‘name‘]:dict[‘value‘] for dict in cookie_list }
- print(cookies)
- # 退出当前页面
- driver.close()
- # 退出浏览器
- driver.quit()
python爬虫动态html selenium.webdriver
来源: http://www.bubuko.com/infodetail-2347148.html