快捷搜索: 王者荣耀 脱发

【文本混淆反爬虫】图片伪装

图片伪装反爬

说明:网站将关键信息变成图片,以达到使爬虫爬取不到想要的数据 例如:https://www.gxrc.com/company/1085868 的招聘联系电话,为图片格式

解决办法:使用光学字符识别技术从图片中提取文字

步骤:

1、向目标网站发起网络请求; 2、使用xpath从响应正文提取图片url,并拼接; 3、向图片发起网络请求; 4、从响应正文中提取图片内容,并使用光学字符识别技术(PyTesseract库)从图片中提取文字。
import io
import requests
from urllib.parse import urljoin
from lxml import etree
try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract


url = https://www.gxrc.com/company/1085868
html = requests.get(url).text
content = etree.HTML(html)
image_url = content.xpath(//label/img/@src)[0]
image_url = urljoin(url, image_url)
# 请求图片,拿到图片的字节流内容
image_body = requests.get(image_url).content
# 使用Image.open打开图片字节流,得到图片对象
image_stream = Image.open(io.BytesIO(image_body))
print(pytesseract.image_to_string(image_stream, lang=eng))
经验分享 程序员 微信小程序 职场和发展