Home Backend Development Python Tutorial How to identify python crawler

How to identify python crawler

May 22, 2019 pm 06:03 PM

How to identify python crawler

1. Input verification code

This kind of verification code is mainly passed by the user Enter the letters, numbers, Chinese characters, etc. in the picture for verification. As shown below

How to identify python crawler


##Solution idea: This is the simplest one, as long as you identify Then fill in the content inside the input box. This recognition technology is called OCR. Here we recommend using Python’s third-party library, tesserocr. For the verification code without any background influence, as shown in Figure 2, you can identify it directly through this library. However, for verification codes with noisy backgrounds, the direct recognition rate will be very low. When encountering this kind of situation, we need to process the image first, grayscale the image first, and then binarize it, and then recognition, so that the recognition rate will be greatly improved.

2. Sliding verification code

How to identify python crawler

##Solution: This kind of verification code is a bit more complicated, but there are corresponding methods. What we directly think of is to simulate the behavior of a person dragging the verification code, click the button, and then see the location of the gap, and finally drag the puzzle to the gap location to complete the verification.

Step one: Click the button. Then we found that the gap and the puzzle did not appear when you did not click the button, but appeared after you clicked it. This provided us with inspiration to find the location of the gap.

Step 2: Drag to the gap position. We know that the puzzle should be dragged to the gap, but if this distance is expressed in numerical values? Through the phenomenon we observed in the first step, we can find the location of the gap. Here we can compare the pixels of the two pictures and set a benchmark value. If the difference at a certain position exceeds the benchmark value, then we have found the different positions of the two pictures. Of course, we start from the right side of the puzzle. Start from the side and go from left to right, and end when you find the first different position. This position should be the left of the gap, so we can use selenium to drag to this position. Another question here is how to automatically save these two pictures? Here we can first find the label, then get its location and size, then top, bottom, left, right = location['y'], location['y'] size['height'] location['x'] size['width'] , then take a screenshot, and finally cut out the image and fill in these four positions. For specific usage, you can view the selenium documentation. Cut out a picture before clicking the button, and then cut out a picture after clicking the button. When dragging at the end, you need to simulate human behavior, first accelerating and then decelerating. Because this kind of verification code has behavioral characteristics detection, it is impossible for a person to keep a constant speed, otherwise it will be judged as a machine dragging, so it will not pass the verification.

Related learning recommendations: python tutorial

The above is the detailed content of How to identify python crawler. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How to teach computer novice programming basics in project and problem-driven methods within 10 hours? How to teach computer novice programming basics in project and problem-driven methods within 10 hours? Apr 02, 2025 am 07:18 AM

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How does Uvicorn continuously listen for HTTP requests without serving_forever()? How does Uvicorn continuously listen for HTTP requests without serving_forever()? Apr 01, 2025 pm 10:51 PM

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

How to dynamically create an object through a string and call its methods in Python? How to dynamically create an object through a string and call its methods in Python? Apr 01, 2025 pm 11:18 PM

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

What are some popular Python libraries and their uses? What are some popular Python libraries and their uses? Mar 21, 2025 pm 06:46 PM

The article discusses popular Python libraries like NumPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, Django, Flask, and Requests, detailing their uses in scientific computing, data analysis, visualization, machine learning, web development, and H

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

See all articles