用Python识别网站,app上面的元素

基于反爬虫的场景,有一些敏感元素例如手机号码,有一些网站是直接用图片的方式展示,这样就没有办法爬取;还有一种是产品只有手机端,由于网络的传送过程是通过加密传输,即使截取了报文,也没有办法进行解密,这个时候可以通过对手机的界面截图,进行图片识别。

1. 思路

通过屏幕的截屏,保存要处理的界面的图片,通过定位到要获取信息的元素的位置,通过属性获取该元素的坐标,然后在之前保存的图片上,根据坐标截图对应的区间,然后通过pytesseract的包的方法进行图片识别。

2. 依赖的包安装

安装Pillow

pip install Pillow

安装tesseract-ocr
github地址: https://github.com/tesseract-ocr/tesseract
直接安装就可以

安装pytesseract

pip install pytesseract

3. 代码实现

    screenshotPath="e:\pythonimage\image01.png"
    saveImagePath="E:\pythonimage\yanzhengma01.png"
    webdriver.save_screenshot(screenshotPath)
    imglement = webdriver.find_element_by_id("genCheckCode")    #定位验证码
    location = imglement.location     #获取验证码X,Y的坐标
    size = imglement.size             #获取验证码的长宽
    #写成我们需要的位置坐标
    rangle = (int(location['x'])+10,int(location['y']),int(location['x']+size['width']-10),int(location['y']+size['height']))  
    image = Image.open((screenshotPath))     #打开截图
    frame4 = image.crop(rangle)                #使用image的crop函数,从截图中再次截取我们的区域
    frame4.save(saveImagePath)
    qq = Image.open(saveImagePath)
    text = pytesseract.image_to_string(qq).strip() #  使用image_to_string识别验证码
    frame4.close
    image.close()
    qq.close()

欢迎关注公众:sjyy_python

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我今天所说的代价,那天我打开手机视频,看到一个栏目聊科技说到人类进化中的一个有趣问题。如果人类的医生可以任意修改我...
    驿站1124阅读 1,270评论 0 1
  • “生活从不缺少美,只是缺少发现美的眼睛,以及一颗感恩的心。” 忘记这是第几次没在家过中秋了,昨天老妈还在埋怨中秋放...
    若水三叶阅读 2,405评论 0 1
  • 当我在跑步时,在想什么? 村上有本书是《当我跑步时我谈些什么》,很久之前看完的,具体也想不起来在说些什么,只知道要...
    Z卿甄阅读 1,684评论 0 0
  • 周六,伺候朵儿同学吃完饭午睡之后,正眯着眼睛美梦逍遥呢,微信叮咚一声响了,是姐姐发来的微信,想起来姐姐今天喊...
    月牙泉边的骆驼阅读 4,902评论 0 1

友情链接更多精彩内容