12css加密静态css字体加密

This commit is contained in:
luzhisheng 2023-02-03 00:08:39 +08:00
parent 460725ce1b
commit e14f6f25a6
9 changed files with 757 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,49 @@
import json
import requests
from fontTools.ttLib import TTFont
def font_value(key):
font = TTFont('aiding.woff')
font.saveXML('movie.xml')
font_dict = {}
i = 1
for font_u_nie in font.getGlyphOrder()[1:]:
font_dict[font_u_nie] = i
i += 1
font_dict['unif712'] = 0
return font_dict[key]
def challenge12(page):
url = "https://www.python-spider.com/api/challenge12"
payload = f"page={page}"
session = requests.session()
headers = {
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
session.headers = headers
response = session.request("POST", url, data=payload)
print(response.text)
return response.text
def run():
data_num = 0
for page in range(1, 101):
response_text = challenge12(page)
response_text = json.loads(response_text)
data_list = response_text.get('data')
for data in data_list:
data_value_list = data.get('value').split(' ')[:-1]
data_num_join = ''
for data_value in data_value_list:
data_value_num = font_value(data_value.replace('&#x', 'uni'))
data_num_join += str(data_value_num)
data_num += int(data_num_join)
print(data_num)
print(data_num)
if __name__ == '__main__':
run()

View File

@ -0,0 +1,671 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.38">
<GlyphOrder>
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
<GlyphID id="0" name=".notdef"/>
<GlyphID id="1" name="unie458"/>
<GlyphID id="2" name="unif375"/>
<GlyphID id="3" name="unif80c"/>
<GlyphID id="4" name="unif12f"/>
<GlyphID id="5" name="uniee4a"/>
<GlyphID id="6" name="unif295"/>
<GlyphID id="7" name="unie449"/>
<GlyphID id="8" name="unif0d6"/>
<GlyphID id="9" name="unie44d"/>
<GlyphID id="10" name="unif712"/>
</GlyphOrder>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.0"/>
<checkSumAdjustment value="0xb6ef51aa"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00001011"/>
<unitsPerEm value="1000"/>
<created value="Sun Oct 13 04:00:31 2019"/>
<modified value="Sun Oct 13 04:00:31 2019"/>
<xMin value="0"/>
<yMin value="-20"/>
<xMax value="577"/>
<yMax value="729"/>
<macStyle value="00000000 00000000"/>
<lowestRecPPEM value="8"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="1060"/>
<descent value="-340"/>
<lineGap value="126"/>
<advanceWidthMax value="600"/>
<minLeftSideBearing value="0"/>
<minRightSideBearing value="23"/>
<xMaxExtent value="577"/>
<caretSlopeRise value="1"/>
<caretSlopeRun value="0"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="2"/>
</hhea>
<maxp>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="0x10000"/>
<numGlyphs value="11"/>
<maxPoints value="57"/>
<maxContours value="3"/>
<maxCompositePoints value="0"/>
<maxCompositeContours value="0"/>
<maxZones value="2"/>
<maxTwilightPoints value="0"/>
<maxStorage value="10"/>
<maxFunctionDefs value="10"/>
<maxInstructionDefs value="0"/>
<maxStackElements value="255"/>
<maxSizeOfInstructions value="0"/>
<maxComponentElements value="0"/>
<maxComponentDepth value="0"/>
</maxp>
<OS_2>
<!-- The fields 'usFirstCharIndex' and 'usLastCharIndex'
will be recalculated by the compiler -->
<version value="4"/>
<xAvgCharWidth value="554"/>
<usWeightClass value="400"/>
<usWidthClass value="5"/>
<fsType value="00000000 00001000"/>
<ySubscriptXSize value="721"/>
<ySubscriptYSize value="979"/>
<ySubscriptXOffset value="0"/>
<ySubscriptYOffset value="196"/>
<ySuperscriptXSize value="721"/>
<ySuperscriptYSize value="979"/>
<ySuperscriptXOffset value="0"/>
<ySuperscriptYOffset value="672"/>
<yStrikeoutSize value="68"/>
<yStrikeoutPosition value="361"/>
<sFamilyClass value="0"/>
<panose>
<bFamilyType value="2"/>
<bSerifStyle value="0"/>
<bWeight value="5"/>
<bProportion value="3"/>
<bContrast value="0"/>
<bStrokeVariation value="0"/>
<bArmStyle value="0"/>
<bLetterForm value="0"/>
<bMidline value="0"/>
<bXHeight value="0"/>
</panose>
<ulUnicodeRange1 value="00000000 00000000 00000000 00000000"/>
<ulUnicodeRange2 value="00010000 00000000 00000000 00000000"/>
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
<achVendID value="PfEd"/>
<fsSelection value="00000000 01000000"/>
<usFirstCharIndex value="120"/>
<usLastCharIndex value="63500"/>
<sTypoAscender value="1060"/>
<sTypoDescender value="-340"/>
<sTypoLineGap value="126"/>
<usWinAscent value="1060"/>
<usWinDescent value="340"/>
<ulCodePageRange1 value="00000000 00000000 00000000 00000001"/>
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
<sxHeight value="0"/>
<sCapHeight value="0"/>
<usDefaultChar value="0"/>
<usBreakChar value="32"/>
<usMaxContext value="0"/>
</OS_2>
<hmtx>
<mtx name=".notdef" width="100" lsb="0"/>
<mtx name="unie449" width="600" lsb="0"/>
<mtx name="unie44d" width="600" lsb="0"/>
<mtx name="unie458" width="600" lsb="0"/>
<mtx name="uniee4a" width="600" lsb="0"/>
<mtx name="unif0d6" width="600" lsb="0"/>
<mtx name="unif12f" width="600" lsb="0"/>
<mtx name="unif295" width="600" lsb="0"/>
<mtx name="unif375" width="600" lsb="0"/>
<mtx name="unif712" width="600" lsb="0"/>
<mtx name="unif80c" width="600" lsb="0"/>
</hmtx>
<cmap>
<tableVersion version="0"/>
<cmap_format_4 platformID="0" platEncID="3" language="0">
<map code="0xe449" name="unie449"/><!-- ???? -->
<map code="0xe44d" name="unie44d"/><!-- ???? -->
<map code="0xe458" name="unie458"/><!-- ???? -->
<map code="0xee4a" name="uniee4a"/><!-- ???? -->
<map code="0xf0d6" name="unif0d6"/><!-- ???? -->
<map code="0xf12f" name="unif12f"/><!-- ???? -->
<map code="0xf295" name="unif295"/><!-- ???? -->
<map code="0xf375" name="unif375"/><!-- ???? -->
<map code="0xf712" name="unif712"/><!-- ???? -->
<map code="0xf80c" name="unif80c"/><!-- ???? -->
</cmap_format_4>
<cmap_format_0 platformID="1" platEncID="0" language="0">
</cmap_format_0>
<cmap_format_4 platformID="3" platEncID="1" language="0">
<map code="0xe449" name="unie449"/><!-- ???? -->
<map code="0xe44d" name="unie44d"/><!-- ???? -->
<map code="0xe458" name="unie458"/><!-- ???? -->
<map code="0xee4a" name="uniee4a"/><!-- ???? -->
<map code="0xf0d6" name="unif0d6"/><!-- ???? -->
<map code="0xf12f" name="unif12f"/><!-- ???? -->
<map code="0xf295" name="unif295"/><!-- ???? -->
<map code="0xf375" name="unif375"/><!-- ???? -->
<map code="0xf712" name="unif712"/><!-- ???? -->
<map code="0xf80c" name="unif80c"/><!-- ???? -->
</cmap_format_4>
</cmap>
<loca>
<!-- The 'loca' table will be calculated by the compiler -->
</loca>
<glyf>
<!-- The xMin, yMin, xMax and yMax values
will be recalculated by the compiler. -->
<TTGlyph name=".notdef" xMin="0" yMin="-20" xMax="50" yMax="20">
<contour>
<pt x="20" y="20" on="1"/>
<pt x="50" y="20" on="1"/>
<pt x="50" y="-20" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unie449" xMin="0" yMin="0" xMax="535" yMax="714">
<contour>
<pt x="66" y="714" on="1"/>
<pt x="66" y="639" on="1"/>
<pt x="451" y="639" on="1"/>
<pt x="185" y="0" on="1"/>
<pt x="272" y="0" on="1"/>
<pt x="535" y="647" on="1"/>
<pt x="535" y="714" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unie44d" xMin="0" yMin="-14" xMax="550" yMax="728">
<contour>
<pt x="292" y="728" on="1"/>
<pt x="187" y="728" on="0"/>
<pt x="51" y="589" on="0"/>
<pt x="51" y="483" on="1"/>
<pt x="51" y="380" on="0"/>
<pt x="112" y="315" on="1"/>
<pt x="175" y="247" on="0"/>
<pt x="278" y="247" on="1"/>
<pt x="341" y="248" on="0"/>
<pt x="439" y="310" on="0"/>
<pt x="466" y="364" on="1"/>
<pt x="470" y="364" on="1"/>
<pt x="471" y="338" on="1"/>
<pt x="471" y="218" on="0"/>
<pt x="424" y="138" on="1"/>
<pt x="375" y="55" on="0"/>
<pt x="292" y="55" on="1"/>
<pt x="166" y="55" on="0"/>
<pt x="144" y="177" on="1"/>
<pt x="63" y="177" on="1"/>
<pt x="92" y="-14" on="0"/>
<pt x="291" y="-14" on="1"/>
<pt x="411" y="-13" on="0"/>
<pt x="483" y="98" on="1"/>
<pt x="550" y="206" on="0"/>
<pt x="550" y="376" on="1"/>
<pt x="550" y="542" on="0"/>
<pt x="487" y="632" on="1"/>
<pt x="421" y="728" on="0"/>
</contour>
<contour>
<pt x="294" y="659" on="1"/>
<pt x="368" y="659" on="0"/>
<pt x="413" y="608" on="1"/>
<pt x="457" y="560" on="0"/>
<pt x="457" y="411" on="0"/>
<pt x="363" y="315" on="0"/>
<pt x="294" y="315" on="1"/>
<pt x="219" y="315" on="0"/>
<pt x="132" y="408" on="0"/>
<pt x="132" y="483" on="1"/>
<pt x="132" y="561" on="0"/>
<pt x="221" y="659" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unie458" xMin="0" yMin="0" xMax="361" yMax="714">
<contour>
<pt x="297" y="714" on="1"/>
<pt x="262" y="674" on="0"/>
<pt x="160" y="612" on="0"/>
<pt x="111" y="598" on="1"/>
<pt x="111" y="516" on="1"/>
<pt x="212" y="546" on="0"/>
<pt x="279" y="614" on="1"/>
<pt x="279" y="0" on="1"/>
<pt x="361" y="0" on="1"/>
<pt x="361" y="714" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="uniee4a" xMin="0" yMin="-14" xMax="549" yMax="714">
<contour>
<pt x="105" y="714" on="1"/>
<pt x="67" y="320" on="1"/>
<pt x="145" y="320" on="1"/>
<pt x="167" y="363" on="0"/>
<pt x="209" y="384" on="1"/>
<pt x="249" y="406" on="0"/>
<pt x="300" y="406" on="1"/>
<pt x="378" y="407" on="0"/>
<pt x="468" y="313" on="0"/>
<pt x="468" y="227" on="1"/>
<pt x="468" y="152" on="0"/>
<pt x="370" y="56" on="0"/>
<pt x="295" y="56" on="1"/>
<pt x="229" y="56" on="0"/>
<pt x="186" y="88" on="1"/>
<pt x="138" y="124" on="0"/>
<pt x="132" y="192" on="1"/>
<pt x="51" y="192" on="1"/>
<pt x="58" y="94" on="0"/>
<pt x="133" y="37" on="1"/>
<pt x="199" y="-14" on="0"/>
<pt x="294" y="-14" on="1"/>
<pt x="400" y="-14" on="0"/>
<pt x="472" y="51" on="1"/>
<pt x="549" y="120" on="0"/>
<pt x="549" y="228" on="1"/>
<pt x="549" y="343" on="0"/>
<pt x="422" y="473" on="0"/>
<pt x="320" y="473" on="1"/>
<pt x="271" y="474" on="0"/>
<pt x="229" y="456" on="1"/>
<pt x="182" y="438" on="0"/>
<pt x="152" y="402" on="1"/>
<pt x="148" y="402" on="1"/>
<pt x="172" y="641" on="1"/>
<pt x="520" y="641" on="1"/>
<pt x="520" y="714" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unif0d6" xMin="0" yMin="-14" xMax="558" yMax="728">
<contour>
<pt x="300" y="728" on="1"/>
<pt x="188" y="728" on="0"/>
<pt x="125" y="670" on="1"/>
<pt x="67" y="617" on="0"/>
<pt x="67" y="539" on="1"/>
<pt x="67" y="482" on="0"/>
<pt x="94" y="443" on="1"/>
<pt x="122" y="401" on="0"/>
<pt x="179" y="381" on="1"/>
<pt x="179" y="379" on="1"/>
<pt x="123" y="365" on="0"/>
<pt x="84" y="317" on="1"/>
<pt x="42" y="266" on="0"/>
<pt x="42" y="197" on="1"/>
<pt x="42" y="102" on="0"/>
<pt x="176" y="-14" on="0"/>
<pt x="423" y="-14" on="0"/>
<pt x="492" y="45" on="1"/>
<pt x="558" y="102" on="0"/>
<pt x="558" y="197" on="1"/>
<pt x="558" y="266" on="0"/>
<pt x="516" y="317" on="1"/>
<pt x="477" y="365" on="0"/>
<pt x="421" y="379" on="1"/>
<pt x="421" y="381" on="1"/>
<pt x="476" y="401" on="0"/>
<pt x="506" y="443" on="1"/>
<pt x="533" y="482" on="0"/>
<pt x="533" y="539" on="1"/>
<pt x="533" y="617" on="0"/>
<pt x="475" y="670" on="1"/>
<pt x="412" y="728" on="0"/>
</contour>
<contour>
<pt x="300" y="661" on="1"/>
<pt x="375" y="661" on="0"/>
<pt x="419" y="622" on="1"/>
<pt x="456" y="589" on="0"/>
<pt x="456" y="482" on="0"/>
<pt x="423" y="448" on="1"/>
<pt x="383" y="409" on="0"/>
<pt x="216" y="409" on="0"/>
<pt x="177" y="448" on="1"/>
<pt x="144" y="482" on="0"/>
<pt x="144" y="589" on="0"/>
<pt x="181" y="622" on="1"/>
<pt x="223" y="661" on="0"/>
</contour>
<contour>
<pt x="300" y="344" on="1"/>
<pt x="386" y="344" on="0"/>
<pt x="434" y="301" on="1"/>
<pt x="477" y="262" on="0"/>
<pt x="477" y="134" on="0"/>
<pt x="434" y="95" on="1"/>
<pt x="387" y="53" on="0"/>
<pt x="213" y="53" on="0"/>
<pt x="123" y="134" on="0"/>
<pt x="123" y="262" on="0"/>
<pt x="167" y="301" on="1"/>
<pt x="213" y="344" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unif12f" xMin="0" yMin="0" xMax="577" yMax="714">
<contour>
<pt x="384" y="714" on="1"/>
<pt x="24" y="240" on="1"/>
<pt x="24" y="162" on="1"/>
<pt x="383" y="162" on="1"/>
<pt x="383" y="0" on="1"/>
<pt x="461" y="0" on="1"/>
<pt x="461" y="162" on="1"/>
<pt x="577" y="162" on="1"/>
<pt x="577" y="229" on="1"/>
<pt x="461" y="229" on="1"/>
<pt x="461" y="714" on="1"/>
</contour>
<contour>
<pt x="380" y="607" on="1"/>
<pt x="383" y="607" on="1"/>
<pt x="383" y="229" on="1"/>
<pt x="93" y="229" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unif295" xMin="0" yMin="-14" xMax="550" yMax="729">
<contour>
<pt x="310" y="728" on="1"/>
<pt x="189" y="728" on="0"/>
<pt x="118" y="616" on="1"/>
<pt x="51" y="509" on="0"/>
<pt x="51" y="338" on="1"/>
<pt x="51" y="175" on="0"/>
<pt x="113" y="83" on="1"/>
<pt x="179" y="-13" on="0"/>
<pt x="309" y="-14" on="1"/>
<pt x="414" y="-13" on="0"/>
<pt x="550" y="126" on="0"/>
<pt x="550" y="336" on="0"/>
<pt x="425" y="467" on="0"/>
<pt x="323" y="467" on="1"/>
<pt x="260" y="467" on="0"/>
<pt x="212" y="436" on="1"/>
<pt x="162" y="406" on="0"/>
<pt x="135" y="350" on="1"/>
<pt x="131" y="350" on="1"/>
<pt x="130" y="376" on="1"/>
<pt x="130" y="498" on="0"/>
<pt x="177" y="576" on="1"/>
<pt x="225" y="660" on="0"/>
<pt x="309" y="659" on="1"/>
<pt x="433" y="660" on="0"/>
<pt x="457" y="537" on="1"/>
<pt x="538" y="537" on="1"/>
<pt x="508" y="729" on="0"/>
</contour>
<contour>
<pt x="307" y="399" on="1"/>
<pt x="380" y="400" on="0"/>
<pt x="425" y="352" on="1"/>
<pt x="469" y="307" on="0"/>
<pt x="469" y="155" on="0"/>
<pt x="424" y="104" on="1"/>
<pt x="379" y="56" on="0"/>
<pt x="307" y="55" on="1"/>
<pt x="233" y="55" on="0"/>
<pt x="188" y="106" on="1"/>
<pt x="144" y="154" on="0"/>
<pt x="144" y="304" on="0"/>
<pt x="237" y="399" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unif375" xMin="0" yMin="0" xMax="538" yMax="728">
<contour>
<pt x="310" y="728" on="1"/>
<pt x="202" y="728" on="0"/>
<pt x="69" y="585" on="0"/>
<pt x="68" y="465" on="1"/>
<pt x="150" y="465" on="1"/>
<pt x="152" y="560" on="0"/>
<pt x="194" y="608" on="1"/>
<pt x="233" y="659" on="0"/>
<pt x="307" y="658" on="1"/>
<pt x="377" y="658" on="0"/>
<pt x="455" y="587" on="0"/>
<pt x="455" y="521" on="1"/>
<pt x="455" y="452" on="0"/>
<pt x="400" y="393" on="1"/>
<pt x="372" y="364" on="0"/>
<pt x="288" y="304" on="1"/>
<pt x="175" y="226" on="0"/>
<pt x="133" y="177" on="1"/>
<pt x="62" y="98" on="0"/>
<pt x="62" y="0" on="1"/>
<pt x="538" y="0" on="1"/>
<pt x="538" y="73" on="1"/>
<pt x="163" y="73" on="1"/>
<pt x="183" y="145" on="0"/>
<pt x="319" y="237" on="1"/>
<pt x="430" y="313" on="0"/>
<pt x="467" y="352" on="1"/>
<pt x="537" y="427" on="0"/>
<pt x="537" y="614" on="0"/>
<pt x="409" y="728" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unif712" xMin="0" yMin="-14" xMax="550" yMax="729">
<contour>
<pt x="300" y="728" on="1"/>
<pt x="171" y="729" on="0"/>
<pt x="107" y="615" on="1"/>
<pt x="50" y="519" on="0"/>
<pt x="50" y="195" on="0"/>
<pt x="107" y="99" on="1"/>
<pt x="171" y="-14" on="0"/>
<pt x="427" y="-14" on="0"/>
<pt x="493" y="99" on="1"/>
<pt x="550" y="195" on="0"/>
<pt x="550" y="519" on="0"/>
<pt x="493" y="615" on="1"/>
<pt x="427" y="729" on="0"/>
</contour>
<contour>
<pt x="300" y="658" on="1"/>
<pt x="396" y="658" on="0"/>
<pt x="438" y="555" on="1"/>
<pt x="469" y="483" on="0"/>
<pt x="469" y="233" on="0"/>
<pt x="438" y="159" on="1"/>
<pt x="396" y="57" on="0"/>
<pt x="204" y="57" on="0"/>
<pt x="162" y="159" on="1"/>
<pt x="132" y="233" on="0"/>
<pt x="132" y="483" on="0"/>
<pt x="162" y="555" on="1"/>
<pt x="204" y="658" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="unif80c" xMin="0" yMin="-14" xMax="550" yMax="728">
<contour>
<pt x="307" y="728" on="1"/>
<pt x="205" y="728" on="0"/>
<pt x="142" y="670" on="1"/>
<pt x="76" y="612" on="0"/>
<pt x="66" y="508" on="1"/>
<pt x="147" y="508" on="1"/>
<pt x="154" y="580" on="0"/>
<pt x="236" y="658" on="0"/>
<pt x="308" y="657" on="1"/>
<pt x="378" y="658" on="0"/>
<pt x="417" y="622" on="1"/>
<pt x="454" y="589" on="0"/>
<pt x="454" y="469" on="0"/>
<pt x="379" y="404" on="0"/>
<pt x="307" y="404" on="1"/>
<pt x="252" y="404" on="1"/>
<pt x="252" y="340" on="1"/>
<pt x="310" y="340" on="1"/>
<pt x="385" y="341" on="0"/>
<pt x="468" y="269" on="0"/>
<pt x="468" y="142" on="0"/>
<pt x="425" y="100" on="1"/>
<pt x="379" y="56" on="0"/>
<pt x="302" y="56" on="1"/>
<pt x="235" y="57" on="0"/>
<pt x="190" y="93" on="1"/>
<pt x="137" y="137" on="0"/>
<pt x="134" y="221" on="1"/>
<pt x="51" y="221" on="1"/>
<pt x="60" y="101" on="0"/>
<pt x="136" y="38" on="1"/>
<pt x="200" y="-13" on="0"/>
<pt x="302" y="-14" on="1"/>
<pt x="413" y="-14" on="0"/>
<pt x="550" y="111" on="0"/>
<pt x="550" y="208" on="1"/>
<pt x="550" y="271" on="0"/>
<pt x="514" y="313" on="1"/>
<pt x="481" y="355" on="0"/>
<pt x="418" y="374" on="1"/>
<pt x="535" y="414" on="0"/>
<pt x="535" y="534" on="1"/>
<pt x="535" y="624" on="0"/>
<pt x="410" y="728" on="0"/>
</contour>
<instructions/>
</TTGlyph>
</glyf>
<name>
<namerecord nameID="0" platformID="1" platEncID="0" langID="0x0" unicode="True">
Created by font-carrier
</namerecord>
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
.PingFang SC
</namerecord>
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
Regular
</namerecord>
<namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
.PingFang-SC-Regular
</namerecord>
<namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
.PingFang-SC-Regular
</namerecord>
<namerecord nameID="5" platformID="1" platEncID="0" langID="0x0" unicode="True">
Version 1.0
</namerecord>
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
.PingFang-SC-Regular
</namerecord>
<namerecord nameID="10" platformID="1" platEncID="0" langID="0x0" unicode="True">
Generated by svg2ttf from Fontello project.
</namerecord>
<namerecord nameID="11" platformID="1" platEncID="0" langID="0x0" unicode="True">
http://fontello.com
</namerecord>
<namerecord nameID="0" platformID="3" platEncID="1" langID="0x409">
Created by font-carrier
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
.PingFang SC
</namerecord>
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
Regular
</namerecord>
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
.PingFang-SC-Regular
</namerecord>
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
.PingFang-SC-Regular
</namerecord>
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
Version 1.0
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
.PingFang-SC-Regular
</namerecord>
<namerecord nameID="10" platformID="3" platEncID="1" langID="0x409">
Generated by svg2ttf from Fontello project.
</namerecord>
<namerecord nameID="11" platformID="3" platEncID="1" langID="0x409">
http://fontello.com
</namerecord>
</name>
<post>
<formatType value="2.0"/>
<italicAngle value="0.0"/>
<underlinePosition value="14"/>
<underlineThickness value="0"/>
<isFixedPitch value="0"/>
<minMemType42 value="0"/>
<maxMemType42 value="0"/>
<minMemType1 value="0"/>
<maxMemType1 value="11"/>
<psNames>
<!-- This file uses unique glyph names based on the information
found in the 'post' table. Since these names might not be unique,
we have to invent artificial names in case of clashes. In order to
be able to retain the original information, we need a name to
ps name mapping for those cases where they differ. That's what
you see below.
-->
</psNames>
<extraNames>
<!-- following are the name that are not taken from the standard Mac glyph order -->
<psName name="unie458"/>
<psName name="unif375"/>
<psName name="unif80c"/>
<psName name="unif12f"/>
<psName name="uniee4a"/>
<psName name="unif295"/>
<psName name="unie449"/>
<psName name="unif0d6"/>
<psName name="unie44d"/>
<psName name="unif712"/>
</extraNames>
</post>
</ttFont>

View File

@ -0,0 +1,37 @@
# 知识点:字体反爬
## 解题思路
查看请求链接
![请求](./img/5.png)
查看元素会看到,采集的数字都是`    `
![请求](./img/1.png)
观察`css`部分会发现`font-family: "fonteditor" !important;`
![请求](./img/2.png)
尝试全局搜索关键词`fonteditor`,发现字体的下载地址
![请求](./img/3.png)
将字体放到在线编辑器中查看,发现数字对应的编码和接口返回的结果存在对应关系
![请求](./img/4.png)
到这里就可以利用`python``fontTools`包进行解析操作
字体编辑器
http://font.qqe2.com/
`Python | fontTools`的使用
https://zhuanlan.zhihu.com/p/350807659
`Python`爬虫---刷新你的认知,字体反爬并没有那么简单
https://zhuanlan.zhihu.com/p/99497149