登录完之后该干嘛就干嘛~
0 前言
这个是看一个视频学来的,视频给出的教程部分失效,因为知乎的登录页面改了。我进行一点修改就可以登录了,本文主要是记录
1 环境说明
Win10 系统下 Python3,编译器是 Pycharm 。需要安装 selenium 和 scrapy,安装的话可以考虑看这篇文章,这里不赘述。
这里还需要下载一个 Drivers,比如我用的是 Chrome 浏览器就下载 chromedriver,别的浏览器下载对应的 driver 就好
链接:http://selenium-python.readthedocs.io/installation.html
如果你因为无法【翻越思维的墙】而下载不了chromedriver.exe,而且巧好是 Windows 的话,可以去下面这下载
链接: https://pan.baidu.com/s/1Xz3ezvBVF4BwMYhV4pjaKg 密码: fpqc
下载回来后需要把路径记住,比如我就把 chromedriver.exe 放在了 C:/Program Files (x86)/Google/Chrome/Application/ 下。
2 实现
代码有点多,所以是分开来的,用的时候按顺序复制就好。
先导入要用的库
from selenium import webdriver
from scrapy.selector import Selector
接着就是对浏览器进行设置,chromedriver 的路径记得要修改一下
options = webdriver.ChromeOptions()
options.add_argument("--incognito") # 隐身模式打开,可以注释掉
driver_path = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe" # chromedriver 的路径
browser = webdriver.Chrome(executable_path=driver_path, chrome_options=options)
browser.get("https://www.zhihu.com/") # 知乎网址
最后就是模拟点击和输入,记得把账号和密码修改一下
t_selector = Selector(text=browser.page_source)
browser.find_element_by_css_selector(".HomeSidebar-signBannerActions button.HomeSidebar-signBannerButton").click() # 点击右侧登录
browser.find_element_by_css_selector(".SignFlow-accountInput.Input-wrapper input[name='username']").send_keys("你的账号") # 账号
browser.find_element_by_css_selector(".SignFlowInput .Input-wrapper input[name='password']").send_keys("你的账号密码") # 密码
browser.find_element_by_css_selector(".Login-content button.SignFlow-submitButton").click() # 点击登录
实际效果可以看下面这个 gif
3 说明
登录完之后就可以开搞了
安装说明:http://selenium-python.readthedocs.io/installation.html
官方文档:https://seleniumhq.github.io/selenium/docs/api/py/