爬取企查查需要考虑到其验证码问题
验证码有两种(滑动验证码和图片验证码)
一、滑动验证码

解决办法:使用selenium技术
1 先获取到需滑动的块状

2 进行滑动、点击按钮
具体代码如下:
def get_track(distance):
track = []
current = 0
mid = distance * 3 / 4
t = 0.2
v = 0
while current < distance:
if current < mid:
a = 2
else:
a = -3
v0 = v
v = v0 + a * t
move = v0 * t + 1 / 2 * a * t * t
current += move
track.append(round(move))
return track
# 滑动验证码识别
def slide_discern():
print("滑块验证码验证中。。。")
#创建无界面模式
chrome_options = Options()
chrome_options.add_argument(‘--headless‘)
chrome_options.add_argument(‘--disable-gpu‘)
driver = webdriver.Chrome(chrome_options=chrome_options)
# 获取到需滑动的按钮
source = driver.find_element_by_xpath(‘//*[@id="nc_1_n1z"]‘)
action = ActionChains(driver)
# 按住左键不放
action.click_and_hold(source).perform()
# 开始滑动
distance = 340
# 模拟以人为速度拖动
track = get_track(distance)
for i in track:
action.move_by_offset(xoffset=i, yoffset=0).perform()
action.reset_actions()
# 释放鼠标
action.release().perform()
二 :图片验证码

解决办法:使用第三方平台进行验证(超级鹰)
超级鹰使用方法:
1:登陆网址:http://www.chaojiying.com/ 进行注册
2:注册完成点击菜单栏中开发者文档,下载python代码文件
![]()


点击下载

解压文件 把里面的chaojiying.py 复制到你本人项目目录中,共以下步骤使用

3、进入超级鹰的用户中心生成软件ID



点击提交会出现一个软件ID列表

复制软件ID 待会 会使用到
原文:https://www.cnblogs.com/renshaoqi/p/10956950.html