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
2. Sliding verification code
##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!