今天使用selenium+python对一个认证网站下手了。
在查询数据的时候出现了验证码。
使用了超级鹰打码平台进行验证。
导入selenium模块和图片处理模块
from selenium import webdriver
from PIL import Image
from selenium.webdriver import ActionChains
使用Chromedriver插件打开浏览器网站
driver = webdriver.Chrome(r'E:\浏览器下载\chromedriver.exe')
driver.get("www.xxx.com") # 请求登录页面
time.sleep(1)
点击查询按钮
driver.find_element_by_class_name("btn-primary").click()
time.sleep(5)
进行验证码截图,使用超级鹰打码。
详细步骤可参考
https://blog.csdn.net/weixin_42446213/article/details/105175938
打码成功后显示数据,数据是在一个table中显示。
数据量比较大,table中有滚动条。此时使用page_source获取的内容不完整。
需要进行滚动条下滑之后再获取内容。
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)") # 滚动条拖动到底部
time.sleep(1)
data = driver.page_source
对data内容使用正则获取需要的内容,然后使用csv模块将获取的内容存储起来。
使用selenium+Python做爬虫有最简单粗暴的方式,使用page_source获取到网页源码,在使用正则获取具体需要的内容。
有时需要使用滚动条拖动。
本文仅做供学习交流,内容仅做参考