diff --git a/猿人学第7题-字体反爬/1.ttf b/猿人学第7题-字体反爬/1.ttf deleted file mode 100644 index 74d3c45..0000000 Binary files a/猿人学第7题-字体反爬/1.ttf and /dev/null differ diff --git a/猿人学第7题-字体反爬/1.woff b/猿人学第7题-字体反爬/1.woff deleted file mode 100644 index 74d3c45..0000000 Binary files a/猿人学第7题-字体反爬/1.woff and /dev/null differ diff --git a/猿人学第7题-字体反爬/1.xml b/猿人学第7题-字体反爬/1.xml deleted file mode 100644 index 5570238..0000000 --- a/猿人学第7题-字体反爬/1.xml +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/猿人学第7题-字体反爬/2.ttf b/猿人学第7题-字体反爬/2.ttf deleted file mode 100644 index 6a8523b..0000000 Binary files a/猿人学第7题-字体反爬/2.ttf and /dev/null differ diff --git a/猿人学第7题-字体反爬/2.woff b/猿人学第7题-字体反爬/2.woff deleted file mode 100644 index 6a8523b..0000000 Binary files a/猿人学第7题-字体反爬/2.woff and /dev/null differ diff --git a/猿人学第7题-字体反爬/2.xml b/猿人学第7题-字体反爬/2.xml deleted file mode 100644 index 038b6ce..0000000 --- a/猿人学第7题-字体反爬/2.xml +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/猿人学第7题-字体反爬/3.ttf b/猿人学第7题-字体反爬/3.ttf deleted file mode 100644 index 2fbaefc..0000000 Binary files a/猿人学第7题-字体反爬/3.ttf and /dev/null differ diff --git a/猿人学第7题-字体反爬/3.woff b/猿人学第7题-字体反爬/3.woff deleted file mode 100644 index 2fbaefc..0000000 Binary files a/猿人学第7题-字体反爬/3.woff and /dev/null differ diff --git a/猿人学第7题-字体反爬/3.xml b/猿人学第7题-字体反爬/3.xml deleted file mode 100644 index 937f9ed..0000000 --- a/猿人学第7题-字体反爬/3.xml +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/猿人学第7题-字体反爬/4.ttf b/猿人学第7题-字体反爬/4.ttf deleted file mode 100644 index 7da5def..0000000 Binary files a/猿人学第7题-字体反爬/4.ttf and /dev/null differ diff --git a/猿人学第7题-字体反爬/4.woff b/猿人学第7题-字体反爬/4.woff deleted file mode 100644 index 7da5def..0000000 Binary files a/猿人学第7题-字体反爬/4.woff and /dev/null differ diff --git a/猿人学第7题-字体反爬/4.xml b/猿人学第7题-字体反爬/4.xml deleted file mode 100644 index 488eff0..0000000 --- a/猿人学第7题-字体反爬/4.xml +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/猿人学第7题-字体反爬/5.ttf b/猿人学第7题-字体反爬/5.ttf deleted file mode 100644 index e655986..0000000 Binary files a/猿人学第7题-字体反爬/5.ttf and /dev/null differ diff --git a/猿人学第7题-字体反爬/5.woff b/猿人学第7题-字体反爬/5.woff deleted file mode 100644 index e655986..0000000 Binary files a/猿人学第7题-字体反爬/5.woff and /dev/null differ diff --git a/猿人学第7题-字体反爬/5.xml b/猿人学第7题-字体反爬/5.xml deleted file mode 100644 index 25176ff..0000000 --- a/猿人学第7题-字体反爬/5.xml +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - Created by font-carrier - - - .PingFang SC - - - Regular - - - .PingFang-SC-Regular - - - .PingFang-SC-Regular - - - Version 1.0 - - - .PingFang-SC-Regular - - - Generated by svg2ttf from Fontello project. - - - http://fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/猿人学第7题-字体反爬/font.woff b/猿人学第7题-字体反爬/font.woff index 83e823b..2d1967c 100644 Binary files a/猿人学第7题-字体反爬/font.woff and b/猿人学第7题-字体反爬/font.woff differ diff --git a/猿人学第7题-字体反爬/readme.md b/猿人学第7题-字体反爬/readme.md index d7e6a26..d178ee1 100644 --- a/猿人学第7题-字体反爬/readme.md +++ b/猿人学第7题-字体反爬/readme.md @@ -1,3 +1,13 @@ -# 字体编辑器 +## 知识点 - http://font.qqe2.com/ \ No newline at end of file +字体编辑器 + + http://font.qqe2.com/ + +Python | fontTools的使用 + + https://zhuanlan.zhihu.com/p/350807659 + +Python爬虫---刷新你的认知,字体反爬并没有那么简单 + + https://zhuanlan.zhihu.com/p/99497149 \ No newline at end of file diff --git a/猿人学第7题-字体反爬/案例.py b/猿人学第7题-字体反爬/案例.py index 9d7d388..f0f6a0e 100644 --- a/猿人学第7题-字体反爬/案例.py +++ b/猿人学第7题-字体反爬/案例.py @@ -1,6 +1,5 @@ from fontTools.ttLib import TTFont import requests -import time import json import base64 @@ -25,25 +24,41 @@ class App(object): with open('font.woff', 'wb') as f: f.write(base64.decodebytes(b64_code.encode())) - def get_xml(self): - font = TTFont('5.woff') - font.saveXML('5.xml') + def get_xml(self, data): + font = TTFont('font.woff') + font.saveXML('movie.xml') + data_value = data.get('value').strip().replace('&#x', 'uni') + data_value_list = data_value.split(" ") + map_num_list = [] + for data_v in data_value_list: + map_num = { + "10100100100101010010010010": '0', + "100110101001010101011110101000": '2', + "111111111111111": '4', + "1110101001001010110101010100101011111": '5', + "1001101111": '1', + "10010101001110101011010101010101000100100": '9', + "101010101101010001010101101010101010010010010101001000010": '8', + "10101100101000111100010101011010100101010100": '3', + "1111111": '7', + "10101010100001010111010101101010010101000": '6' + } + flags_num = list(font['glyf'][data_v].flags) + flags_num_str = "".join([str(flag) for flag in flags_num]) + map_num_list.append(map_num[flags_num_str]) + return "".join(map_num_list) def run(self): - data_sum = 0 for page in range(1, 6): - # res = self.get_html("", page) - # woff = res.get('woff') - # self.with_ttf(woff) - self.get_xml() - exit() - # data_list = res.get('data') - # for data in data_list: - # print(data.get('value')) - # # data_sum += data.get('value') - # time.sleep(1) + res = self.get_html("", page) + woff = res.get('woff') + self.with_ttf(woff) + data_num = [] + for data in res.get('data'): + map_num_str = self.get_xml(data) + data_num.append(map_num_str) - print(data_sum) + print(data_num) if __name__ == '__main__':