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