【文本混淆反爬虫】图片伪装
图片伪装反爬
说明:网站将关键信息变成图片,以达到使爬虫爬取不到想要的数据 例如: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))