zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    MZOJ #72 数字
    MZOJ #71 maple做数学题
    MZOJ #70 FFF团
    luogu 2051 [AHOI2009]中国象棋
    uva 280
    uva 260
    文件的基本处理
    文件的基础
    Turtle库
    π的计算
  • 原文地址:https://www.cnblogs.com/TTyb/p/5842015.html
Copyright © 2011-2022 走看看