python爬虫动态html selenium.webdriver

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫动态html selenium.webdriver相关的知识,希望对你有一定的参考价值。

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 程序代码:

 1 from selenium import webdriver
 2 import time
 3 # 获取一个Chrome的驱动
 4 driver = webdriver.Chrome()
 5 ‘‘‘
 6 发送请求
 7 ‘‘‘
 8 driver.get(http://www.baidu.com/)
 9 
10 # 设置打开窗口的大小
11 driver.set_window_size(1024,768)
12 
13 ‘‘‘
14 获取页面内容的常用方式
15 ‘‘‘
16 # 获取元素并输入内容
17 driver.find_element_by_id(kw).send_keys(苹果)
18 # 获取元素并点击
19 driver.find_element_by_id(su).click()
20 # 利用xpath获取
21 # div_list = driver.find_element_by_xpath(‘//div‘)
22 #利用页面内容
23 # next_page = driver.find_element_by_link_text(‘下一页‘).get_attribute(‘href‘)
24 
25 # 将浏览器页面截图保存本地
26 driver.save_screenshot(./百度.png)
27 
28 # 获得浏览器的页面源码(经过渲染之后)
29 html = driver.page_source
30 
31 print(**50)
32 
33 # 获取页面的cookies
34 cookie_list = driver.get_cookies()
35 # cookie 转换成字典
36 cookies = { dict[name]:dict[value] for dict in cookie_list }
37 print(cookies)
38 
39 
40 # 退出当前页面
41 driver.close()
42 # 退出浏览器
43 driver.quit()

 


以上是关于python爬虫动态html selenium.webdriver的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫动态html selenium.webdriver

Python爬虫连载14-动态HTMLPhantomJS和Chromedriver

Python爬虫(十九)_动态HTML介绍

Python爬虫(十九)_动态HTML介绍

Python爬虫爬取动态网页

Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容