<commit_before># CSDN Download
CAPTCHA from http://download.csdn.net/
## captcha image
![](./csdn.png)  
## status
building.
## technique
recognize the CAPTCHA by matching the template.
## Steps
### 1.download the captcha and convert the captchas from .gif to .png
``` shell
rm ./downloader/captchas/*
go run ./downloader/downloader.go
cd ./downloader && python ./Gif2PngConverter.py && cd ..
```
### 2.get the templates of each letter by using software like Photoshop.  
You can check the result at [./recognizer/templates](./recognizer/templates)

### 3.test the recognizer
building...<commit_msg>	modified:   jikexueyuan/README.md<commit_after># CSDN Download
CAPTCHA from http://download.csdn.net/
## captcha image
![](./jikexueyuan.png)  
## status
building.
## technique
recognize the CAPTCHA by matching the template.
## Steps
### 1.download the captcha and convert the captchas from .gif to .png
``` shell
rm ./downloader/captchas/*
go run ./downloader/downloader.go
cd ./downloader && python ./Gif2PngConverter.py && cd ..
```
### 2.get the templates of each letter by using software like Photoshop.  
You can check the result at [./recognizer/templates](./recognizer/templates)

### 3.test the recognizer
building...
{'fraction_non_alphanumeric': 0.1362153344208809, 'fraction_numerical': 0.0065252854812398045, 'mean_word_length': 3.967611336032389, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3267538', 'n_tokens_mistral': 405, 'n_tokens_neox': 376, 'n_words': 129}