笔者使用爬虫从某一平台获取某些设备的数据并导入另一平台,从不会到完成用了一周时间,总结 经验如下:
1.默认使用chrome 浏览器,配合 webdirver 驱动
2.注意chrome 版本和webdriver驱动版本匹配
3.配合书本 python3 网络爬虫开发实战 ,可以下载作者的github 书本配套资料,基本就是全书内容,但更清晰
4.一般网站没有反爬虫,但是比如csdn 有反爬虫机制,所以需要注意,反爬虫需要自己破解
5.个人感觉 selenium 配合xpath 比较容易实现
6.注意很多操作需要js渲染,严格执行每一步,不然会有获取不到 元素的情况
7.查找元素需要接入chrome的开发者工具,如果比较难寻找可以用ctrl + f 查找
8.找到元素不管获取text还是模拟点击按钮 可以移动鼠标放置在元素上(开发者工具里面的html代码里面的元素上)点击鼠标右键选择copy --> copy xpth/ full xpath 获取路径后就可以使用 browser.findelement(By.XPATH,”路径”) 获取元素并操作
9.元素的获取根据网络情况,网站情况 大概率存在获取不到的情况,注意代码中的异常捕获和处理,保证程序不闪退,自恢复
10.特殊的地方包括 用户名、密码的填写,文件上传时文件名的填写 (sendkeyXXX)
11.注意time.sleep 的使用。原因是因为很多元素需要从服务器获取然后在浏览器中渲染,所以这些流程需要时间,直接获取元素很可能为空的情况
12.注意html中iframe 跳转,获取不同iframe 下的元素需要跳转到相应的iframe 下