本文最后更新于78 天前,其中的信息可能已经过时,如有错误请发送邮件到3088506834@qq.com
序
selenium可以称为万能爬虫,但是很多时候也会用到requests,在这种情况下,花了一点小时间封装了一下两者(先前有Requestium ,但貌似很久没更新了),当然既然名字叫SpiderUtils,后期应该也会继续更新一些常用功能吧。
安装
pip install husky-spider-utils -i https://pypi.org/simple
Bash使用
from husky_spider_utils import SeleniumSession
session = SeleniumSession()
PythonSeleniumSession支持传参selenium_init_url, driver_type, headers 分别为selenium初始化地址,webdriver类型(暂时只写了firefox,chrome,edge,默认firefox),相关环境也需要按照selenium配置,headers传一个字典类型用于requests的请求。
基础请求方法
SeleniumSession内含selenium_get方法,使用该方法请求网站可以在加载后将cookie传入requests的session中
session.selenium_get("https://cn.bing.com")
# 以下用法与requests相同,作用是会将请求结果的cookie导入selenium
session.get(url)
session.post(url)
session.requests(url,method)
Pythonselenium常用方法
简单封装了send_key, click, hover和一些常用的滚动方法
# 第一个参数value是css选择器,第二个参数send_value是要发送的值,by参数是选择方法(与find_element相同), 第四个是超时时间(查询元素使用了显式查询)
session.send_key("input[name='username']", "send_value", by=By.CSS_SELECTOR, timeout=60)
# 参数的解释基本同上
session.click(value, by=By.CSS_SELECTOR, timeout=60)
# 移动鼠标到位置并悬浮(b站登录框)
session.hover(value, by=By.CSS_SELECTOR, timeout=60):
# 等待用户输入, des是输入显示的提示内容
session.on_input(des)
# 滑动指定高度
session.scroll(height)
# 滑动到元素
session.scroll_to_el(element)
# 查找的方式滑动到元素
session.scroll_to_el_by_value(value, by=By.CSS_SELECTOR)
# 滑动到顶部
session.scroll_to_top()
# 滑动到底部
session.scroll_to_bottom()
# 保存cookie到json文件
session.save_cookies(save_path)
# 加载cookie到selenium和requests
session.load_cookies(load_path)
Python结
大概就这样了,也不知道后面会不会更新,如果大家有什么需求可以联系我,我尽量更新。