个人博客转至:tybai.com

无聊就想打码,打码使我快乐


Fork me on GitHub

python之selenium

selenium是处理异步加载的一种方法

总的来说是操作浏览器访问来获取自己想要的资料

优点是浏览器能看到的都能爬下来,简单有效,不需要深入破解网页加载形式 

缺点是加载的东西太多,导致爬取速度变慢

 1 #!/usr/bin/python3.4
 2 # -*- coding: utf-8 -*-
 3 
 4 from selenium import webdriver
 5 import time
 6 
 7 # http://www.cnblogs.com/fnng/p/3238685.html
 8 # 打开火狐浏览器
 9 browser = webdriver.Firefox()
10 
11 # 输入网址
12 browser.get("http://www.baidu.com")
13 # 根据各自网速来判断网址加载时间
14 time.sleep(1)
15 
16 # 输入框
17 # <input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off">
18 
19 # 清空输入框
20 browser.find_element_by_id("kw").clear()
21 
22 # 通过id方式定位
23 browser.find_element_by_id("kw").send_keys("selenium")
24 # 通过name方式定位
25 # browser.find_element_by_name("wd").send_keys("selenium")
26 # 通过tag name方式定位
27 # browser.find_element_by_tag_name("input").send_keys("selenium")
28 # 通过class name 方式定位
29 # browser.find_element_by_class_name("s_ipt").send_keys("selenium")
30 # 通过CSS方式定位
31 # browser.find_element_by_css_selector("#kw").send_keys("selenium")
32 # 通过xphan方式定位
33 # browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
34 
35 # 点击“百度一下”
36 browser.find_element_by_id("su").click()
37 
38 # 下面就是xpath的知识了
39 # 想找那个网页的什么东西自己写xpath
40 # 可以参考前面的博客:http://www.cnblogs.com/TTyb/p/5832790.html
41 print(browser.find_element_by_xpath("//a"))
42 time.sleep(5)
43 browser.quit()

 

# 获得当前html
html = browser.page_source

  

posted on 2016-09-05 13:51  TTyb  阅读(1731)  评论(0编辑  收藏  举报

导航


不用多久

我就会升职加薪

当上总经理

出任CEO

迎娶白富美

走上人生巅峰

Pulpit rock