python爬虫入门(三) webdriver

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

那就用webdriver吧.

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

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

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

python爬虫入门(三) 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()  #点下登陆按钮

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

发现问题 报错

python爬虫入门(三) webdriver

image.png

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

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

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