gpt4 book ai didi

r - 捕获验证码图像

转载 作者:行者123 更新时间:2023-12-04 01:08:30 25 4
gpt4 key购买 nike

我正在尝试从秘鲁政府采购和契约(Contract)电子系统 (SEACE)(使用 RSelenium)中抓取数据,并且在尝试从验证码图像中捕获 URL 之前我已经成功了。我遇到的问题是验证码的链接具有扩展名“dynamiccontent.properties.xhtml”(见下一张截图),但不是“JPEG”、“JPG”或“PNG”扩展名。

Screenshot from SEACE

我想使用 R 从这些扩展之一(JPEG、JPG 或 PNG)中的验证码图像获取 URL,有什么建议吗?谢谢!

最佳答案

您可以使用 Rselenium 获取验证码图像。但是你需要一些图像处理。由于验证码是动态生成的,您需要截取页面的屏幕截图,然后裁剪图像,以便只留下验证码。 (尝试使用裁剪函数的维度参数使其恰到好处)

在这样做的同时,将窗口尺寸调大以便分辨率良好。

要裁剪图像,您需要反复试验。您可以使用软件包 imagermagick 作为裁剪位。

library(RSelenium)
library(magick)
library(dplyr)
url<-"https://prodapp2.seace.gob.pe/seacebus-uiwd-pub/buscadorPublico/buscadorPublico.xhtml"

#### Selenium server
## For Firefox

rd<- rsDriver(browser = "firefox",port = 4581L)
remDr <- rd$client
remDr$open()


##Open url
remDr$navigate(url)

remDr$setWindowSize(2000,1600)

remDr$screenshot(display = FALSE, file = "captcha.png")


final_cap<-image_read("captcha.png") %>%
image_crop(.,"200X100+500+500")

plot(final_cap)

请注意,我不支持任何非法的验证码破解 - 它们旨在防止机器人进入!

Captcha Captured!

关于r - 捕获验证码图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65551163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com