当前位置: 首页 > news >正文

深圳做网站的公司电商seo什么意思

深圳做网站的公司,电商seo什么意思,wordpress 批量添加用户权限,企业门户登陆在爬虫过程中,验证码和滑块验证是常见的反爬措施。针对这些挑战,通常采用OCR识别图形验证码和模拟滑块拖动来处理滑块验证。以下是如何处理这两种类型验证的详细方法。 1. 图形验证码(OCR) a. 使用 tesserocr 和 Pillow 处理图形…

在爬虫过程中,验证码和滑块验证是常见的反爬措施。针对这些挑战,通常采用OCR识别图形验证码和模拟滑块拖动来处理滑块验证。以下是如何处理这两种类型验证的详细方法。

1. 图形验证码(OCR)

a. 使用 tesserocrPillow 处理图形验证码

tesserocr 是基于 Tesseract OCR 引擎的 Python 封装,常用来识别简单的图形验证码。如果验证码不太复杂,可以用它来识别文本。

步骤:
  1. 安装依赖:

    pip install tesserocr pillow
    

  2. 验证码处理示例:

import re
import tesserocr
from PIL import Image
from io import BytesIO
from selenium import webdriver# 预处理验证码图像
def preprocess(image):image = image.convert('L')  # 转换为灰度图像image = image.point(lambda x: 0 if x < 140 else 255)  # 二值化处理return image# 打开浏览器并获取验证码
browser = webdriver.Chrome()
browser.get('https://captcha7.scrape.center/')  # 更换为你的验证码页面captcha_element = browser.find_element_by_css_selector('#captcha')
captcha_image = Image.open(BytesIO(captcha_element.screenshot_as_png))# 图像预处理
processed_image = preprocess(captcha_image)# OCR识别验证码
captcha_text = tesserocr.image_to_text(processed_image)
captcha_text = re.sub(r'\W', '', captcha_text)  # 移除非字母数字字符
print('识别的验证码:', captcha_text)browser.quit()
b. 如果验证码非常复杂,可能需要:
  • 更好的图像预处理(如降噪、去除背景)。
  • 使用机器学习模型来识别复杂验证码。

2. 滑块验证

滑块验证是一种基于用户拖动操作的验证形式,通常在登录、注册等过程中遇到。可以使用 Selenium 模拟滑动操作,并且通过 ActionChains 实现拖拽效果。

滑块验证的步骤:
  1. 定位滑块和拖动轨道
  2. 模拟拖动动作(通过ActionChains模拟滑动轨迹)。
代码示例:
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By# 初始化浏览器
browser = webdriver.Chrome()
browser.get('https://example.com')  # 替换为有滑块验证的网页# 等待加载完成并找到滑块
time.sleep(2)  # 等待页面加载
slider = browser.find_element(By.CSS_SELECTOR, '.slider-button')  # 滑块选择器
slider_track = browser.find_element(By.CSS_SELECTOR, '.slider-track')  # 滑动轨道选择器# 模拟拖动滑块
action = ActionChains(browser)# 拖动操作,假设滑动距离为轨道宽度
action.click_and_hold(slider).perform()
action.move_by_offset(300, 0).perform()  # 300是大致的滑动距离,可能需要动态计算
action.release().perform()# 模拟滑动后等待验证
time.sleep(2)browser.quit()
c. 滑动轨迹的处理:
  • 滑动轨迹可以通过计算滑块轨道的宽度或者通过图像处理找到滑块的终点。
  • 滑块验证往往不仅要求完成动作,还要求模拟人类的行为(加速、减速,非匀速滑动),否则可能会失败。

滑动行为模拟:

import random
import time# 生成随机滑动轨迹
def generate_track(distance):track = []current = 0mid = distance * 4 / 5t = 0.2v = 0while current < distance:if current < mid:a = 2else:a = -3v0 = vv = v0 + a * tmove = v0 * t + 1 / 2 * a * t * tcurrent += movetrack.append(round(move))return track# 使用 ActionChains 模拟拖动
def simulate_dragging(browser, slider, distance):track = generate_track(distance)action = ActionChains(browser)action.click_and_hold(slider)for x in track:action.move_by_offset(xoffset=x, yoffset=0)action.release().perform()slider = browser.find_element(By.CSS_SELECTOR, '.slider-button')
simulate_dragging(browser, slider, 300)

这个代码生成的滑动轨迹会有加速和减速,模拟人类操作。

总结:

  • 图形验证码:使用 tesserocr 结合预处理来识别简单的验证码;如果验证码复杂,可以使用机器学习。
  • 滑块验证:使用 SeleniumActionChains 模拟拖动操作,并生成人类模拟的轨迹避免被检测为机器操作。

如果验证码或滑块验证过于复杂,可以考虑使用打码平台(如 Ruokuai、2Captcha)来自动识别验证码和滑块验证。

http://www.hengruixuexiao.com/news/47546.html

相关文章:

  • 杭州网站网络 科技公司百度新闻官网首页
  • 彩票网站开发的风险友情链接例子
  • 做威士忌的网站seo优化工作怎么样
  • 网站打开是目录结构图推广途径有哪些
  • 嘉定网站建设网页制作外国人b站
  • 做外贸网站赚钱吗营销型网站建设价格
  • wordpress完全开源么东莞关键词排名优化
  • SFDA的网站建设是什么长春网站排名提升
  • 川畅科技联系 网站设计外链推广软件
  • 深圳东门大厦深圳最好的外贸seo培训
  • 西安做北郊做网站容易被百度收录的网站
  • wordpress中文变英文版seo搜索引擎优化视频
  • 做网站对电脑要求高吗软文有哪些推广渠道
  • 宝安做棋牌网站建设哪家便宜推广怎么推
  • 什么网站可以有人做详情页网络营销pdf
  • 做seo推广手机网站天津优化代理
  • 公司自己做网站多少费用灰色词seo推广
  • 自己如何在家做网站周口搜索引擎优化
  • 做胃镜多少钱天津津门网站I营销网站建设教学
  • 石家庄网站建设方案咨询免费的发帖收录网站
  • 搭建直播网站需要怎么做seo培训公司
  • 网站建设专业名词网站优化推广软件
  • 网站建设书籍免费公司网站推广方法
  • windows 2003做网站项链seo关键词
  • 中国工程建设管理协会网站阿里巴巴运营
  • wordpress 登录用户名密码忘记郑州seo培训
  • 做视频网站需要哪些证提高工作效率图片
  • 系统优化有什么用河北seo基础
  • 网站还建设 域名可以备案吗吸引客人的产品宣传句子
  • 怎样维护网站软文代写接单平台