Yesterday, there were a lot of students in the circle of friends show grade six results
One by one (sang) this (jin) optimal (tian) Show (liang)
Of course, there are also sad friends
For the old man above
I can only say : Coquette , brother
This kind of thing can catch up with , Must like
When you brush your circle of friends , See a lot of students screenshots are not regular ( you 're right , Brother pig Virgo ), Some of the admission numbers haven't been mosaic , So brother pig was wondering if he could use Python Take a screenshot of your grade 4 or 6 , It's better to code automatically , This is not to be able to send directly to the circle of friends , Put it in place !( Others are showing results , You don't just show results , You can show Python)
Many students will imitate others' code , But I don't know how to do some small projects , In fact, the problem is : You don't know where to start !
As a developer, I always meet the requirements in my work , So the first step of doing the project is : Figure out what you're going to do ( function ), And then we can de quantify the function , Step by step to achieve !
Next, let's see what interesting things to do today !
After defining the function to be done and quantifying the subdivision , We can start to knock code implementation , Here, we will follow the previous step-by-step implementation steps of subdivision !
First of all, we need to find four or six levels of query entry , First choice here Learning and information network :https://www.chsi.com.cn/cet/index.jsp
Then we call up the debug window , Enter the examination permit number and name . Remember to tick the... In the upper left corner Preserve log
And then we can go in Network See that the first request is the request to get the results of level 4 and level 6
Get URL We can start using requests Library simulation request , A very simple one post Method !
Let's see the results , It's a html Webpage !
Here we will use a Software :wkhtmltopdf, Note that this is a software, not python library , We need to install this software first !
Official website download address :https://wkhtmltopdf.org/downloads.html , Note that this website needs to be opened for download VPN, Otherwise download super slow !
Elder brother pig has already downloaded them in advance and put them on Baidu online disk :wkhtmltopdf Software download link :https://pan.baidu.com/s/11VOomkNch7C9m8lqlRaNAg password :4xuv
Download and install it directly !
Windwos System students need to pay attention to : Need to put wkhtmltopdf Of bin The execution file path is added to PATH variable .
Windwos System students need to pay attention to : Need to put wkhtmltopdf Of bin The execution file path is added to PATH variable .
Windwos System students need to pay attention to : Need to put wkhtmltopdf Of bin The execution file path is added to PATH variable .
After the software download, we need one more Python library :imgkit
.
Maybe some students will ask : Why download the software also under the library ? What's the relationship between the two ? This library actually It's like a wrapper for software , With this library, we can Call software directly with code , You don't need to open and use the software yourself as usual !
Installation Library :
pip install imgkit
take html Turn into png picture , It's just one step !
imgkit.from_file(‘cet.html’, ‘cet.png’)
notes : About imgkit library
For more tutorials, see here :https://pypi.org/project/imgkit/
Let me see if the generated image is normal , As shown in the figure below, a completed screenshot of the web page is generated !
Use this picture to send out friends circle. Others may scold you sb, Cutting such a big picture wastes other people's traffic !
The picture is too big , Let's try to cut the picture , Leave only the intermediate result information !
Image processing, of course, uses our classic pillow library
install :
pip install pillow
Cut the picture in three lines of code , Here we save the cut picture as cut_cet.png
# Cut pictures
img = Image.open('cet.png')
cropped = img.crop((310, 300, 700, 700)) # (left, upper, right, lower)
cropped.save("cut_cet.png")
Take a look at the screenshot , Such a picture is a qualified Python Pretend to be an engineer !
Why does brother pig want to code this anti male function ? The reason is that the test account of brother pig is also seen from the circle of friends , So I warn you : We must protect our privacy , You never know what other people will do with your data !
All right, back in the code , I'm going to continue to use our pillow library
, In addition, we need a common library numpy library
, These two libraries will often be used together . Because the picture is made up of many pixels , And each pixel is made up of rgb Numerical composition , So you can turn an image into a multidimensional array , therefore numpy library
It's often used !
The principle of coding is to code the pixels of the area to be coded rgb Value modification
Let's take a look at the technical implementation of coding , Brother pig encapsulates the code as a method , It's universal , You can use it elsewhere !
Here we just need to turn in the size of mosaic and the coordinate point to be coded , Let's see the end result !
The red part of the picture above is painted by brother pig later , You can see The admission number has been used by brother pig Python Painting the evil mosaic !
Today's case is simple , But let us see Python Playability of , Apply technology to life , Pretend to be everywhere !
Source code :https://github.com/pig6/query_cet