最近接到一项巨艰难的任务,要录入3k+条信息,已经录了1000多个的我已经躺尸在床上,看着剩下的2000多个,再也不想录了,于是懒人值能寻求捷径。小白一枚的我也有雄心壮志要用Python写个代码,解放生产力。还不知道能不能成功,边学边记录下过程。https://www.cnblogs.com/luozx207/p/9003214.html,其实类似文章也是有的,但是里面很多链接都是过期的,所以自己也重新整理一遍。
首先在公司电脑装个pycharm就花了我好久,本想直接用自己电脑,可是登录不了vpn,还被rccd提醒,真是吓死宝宝了。
下载pycharm+python3.6
pycharm下载地址:https://www.jetbrains.com/pycharm/download/#section=mac
pycharm 根据自己电脑系统的版本进行下载,然后就是破解辣。据说学生有免费使用,根据学校邮箱,但是我采用的是网上的破解版本。https://blog.csdn.net/weixin_43873005/article/details/89970373 找了好多文章,才找到可以破解的方法,2019年7.21日,亲测有效。过时太久的话,宝宝们可能又要找新方法了,为你们默哀。
然后mac电脑默认装了Python2.x,但现在都采用Python3写了。打开terminal,输入python 和python3就可以看到版本号,如果是2的话,再安装python3,安装网址:https://www.python.org/downloads/release/python-362/。还有安装教程,采用pip大法,安装各种东西。https://blog.csdn.net/timtian008/article/details/81186356。
在pycharm中默认python2,我们要加载python3,https://www.cnblogs.com/init-life/p/9089579.html在下面新建python文件,我们就可以正式开始写代码了。
环境配置:
接下来准备excel抓取工具,继续在terminal进行pip3 大法,安装selenium库+xlrd库+xlwt库。
输入 :pip3 install sth
其中xlrd和xlwt库用于读写excel表中的数据。还要下载一个浏览器的driver文件用于打开浏览器,注意要选择与计算机系统相符合的版本
我用的是Chromedriver,对应Chrome浏览器,不同的浏览器有不同的driver哦!
2019 Selenium Chrome版本与chromedriver兼容版本对照表https://blog.csdn.net/yoyocat915/article/details/80580066
Chromedriver下载地址:http://npm.taobao.org/mirrors/chromedriver/ (这个会随着谷歌版本更新,大家先看一下自己Chrome的版本号去下载最新的Chromedriver就好啦)
添加chromedriver 到Mac环境变量https://blog.csdn.net/Rouckie/article/details/84555005,这里还会有天坑,有些电脑可能完全无法复制进去,那就要重启mac大法,进入安全模式关闭掉权限了,具体看这里,【Mac】解决无法将 chromedriver 移动到 /usr/bin 目录下的问题:https://www.wandouip.com/t5i128368/
完事后,就终于可以用webdriver 驱动Chrome了。
打开网页:
然后就可以打开网页来看看:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# Login 163 email
driver = webdriver.Chrome()
driver.get("http://mail.163.com/")
就可以打开网站辣~
接下来自动填表登录下邮箱
from selenium import webdriver
from time import sleep
browser = webdriver.Chrome()
browser.get("https://mail.163.com/")
browser.maximize_window()
#最大化窗口browser.find_element_by_xpath('//div[@id="lbNormal"]').click()
#将扫码登录转化为用户名密码登录,进入iframe框browser.switch_to.frame(browser.find_element_by_xpath('//iframe[starts-with(@id,"x-URS")]'))
sleep(1)
#填写表单,输入用户名和密码,xpath根据网页不同,会相应变化browser.find_element_by_xpath('//input[@name="email"]').send_keys('xxxxxxx用户名')
browser.find_element_by_xpath('//input[@name="password"]').send_keys('xxxxxxx密码')
browser.find_element_by_xpath('//*[@id="dologin"]').click()
sleep(2)print(browser.page_source)
sleep(3)
browser.quit()
好了,下期再解析更深入的内容,滚去学习了哈哈哈~