美文网首页
python爬虫入门(三) webdriver

python爬虫入门(三) webdriver

作者: 神之试炼者 | 来源:发表于2018-05-25 18:30 被阅读116次

    上面提到用requests的缺点是, 他只是个很简单的request-response工具. 遇到页面复杂的网站, 就必须对一个页面加载开始到结束干了什么有一些了解, 然后找出正真的url. 还得伪造一些headers信息. 如果是复杂的爬虫(不止是爬一个页面, 而是涉及网站登录, 多个组合动作). requests就很麻烦了.

    那就用webdriver吧.

            你会像见鬼一样看到程序运行后, 浏览器自动弹出来, 自动打开一个网站, 键盘自动输入了用户名密码, 然后自动一页一页的跳, 跳一页爬一页....
    [显然这个工具不止能做爬虫, 还能做很多浏览器自动化操作]

    下面就来展示一下这个操作.

    我们来自动登录一下简书:

    eeee.png

    步骤1 准备工作

    需要下载浏览器驱动. 我一般使用chrome浏览器, 所以就下载chrome浏览器驱动.
    下载地址: http://chromedriver.storage.googleapis.com/index.html

    特别注意: 浏览器驱动兼容性不是很好. 也就是用的时候可能会遇到问题, 如果百度,google查不到原因, 可以尝试换个不同version的驱动

    步骤2 写代码

    from selenium import webdriver
    
    driver = webdriver.Chrome("C:\\software\\browsers\\chromedriver.exe")
    driver.get("https://www.jianshu.com/sign_in")  #上面截图我们看到简书登陆地址是这个
    
    account_input = driver.find_element_by_id("session_email_or_mobile_number")
    account_input.send_keys("我的账号")
    password_input = driver.find_element_by_id("session_password")
    account_input.send_keys("我的密码_小心泄露出去")
    
    click_button = driver.find_element_by_id("sign-in-form-submit-btn")
    click_button.click()  #点下登陆按钮
    

    特别注意, 别把自己的密码写上去还分享给别人.....

    发现问题 报错

    image.png

    百度搜下这个问题: 发现说是driver版本问题, 换一个新版本的chromedriver.exe就好了.

    然后就能看到浏览器自动"动"了 .......这个技能其实很重要

    其他都差不多. 了解下webdriver支持的函数. 再了解下beautifulsoap的函数....基本就这些了.

    相关文章

      网友评论

          本文标题:python爬虫入门(三) webdriver

          本文链接:https://www.haomeiwen.com/subject/rjlujftx.html