爬虫:解决动态刷新、基于selenium框架的爬虫、解决登录以及验证码问题(含爬虫模板)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# 初始化webdriver
driver = webdriver.Chrome()
# 打开登录页面
driver.get('http://example.com/login')
# 等待直到用户名输入框可以操作
username_input = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "username"))
)
# 输入用户名
username_input.send_keys('your_username')
# 等待直到密码输入框可以操作
password_input = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "password"))
)
# 输入密码
password_input.send_keys('your_password')
# 输入密码后添加回车键以触发登录动作
password_input.send_keys(Keys.RETURN)
# 等待登录动作完成,可能需要自定义等待条件
time.sleep(2)
# 获取动态内容
html_content = driver.page_source
# 打印页面源码
print(html_content)
# 关闭webdriver
driver.quit()
这段代码使用了Selenium WebDriver来打开登录页面,输入用户名和密码,并模拟回车键触发登录动作。之后等待登录完成并获取动态内容。最后,关闭webdriver以释放资源。这个过程可以有效地处理登录以及验证码问题,因为Selenium可以处理JavaScript渲染的页面和复杂的动态加载。
评论已关闭