首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获验证码图像

捕获验证码图像
EN

Stack Overflow用户
提问于 2021-01-03 22:53:35
回答 1查看 132关注 0票数 3

我试图从秘鲁政府采购和合同电子系统(SEACE) (使用RSelenium)抓取数据,直到我尝试从验证码图像中捕获网址,我才成功。我遇到的问题是验证码的链接有扩展名"dynamiccontent.properties.xhtml“(见下一个屏幕截图),而不是"JPEG","JPG”或"PNG“扩展名。

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

EN

回答 1

Stack Overflow用户

发布于 2021-02-14 20:17:26

您可以使用Rselenium获取验证码图像。但是你需要进行一些图像处理。因为验证码是动态生成的,所以你需要截取页面的屏幕截图,然后裁剪图像,以便只留下验证码。(尝试使用裁剪函数的尺寸参数来获得正确的效果)

在执行此操作时,请将窗口大小设置得较大,以便获得良好的分辨率。

对于裁剪图像,您将需要一些试验和错误。你可以使用包,成像器或magick的裁剪位。

代码语言:javascript
复制
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)

请注意,我不支持任何非法的验证码破解-他们的设计是为了阻止机器人进入!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65551163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档