某某文學網站小說爬蟲

這個爬蟲來自於一個問答貼:

看雪論壇:https://bbs.pediy.com/thread-256306.htm

吾愛破解:https://www.52pojie.cn/thread-1075559-1-1.html

發帖人是一個人。

感謝大佬提供技術支持:

切絲怕怕:https://bbs.pediy.com/user-733836.htm

這大概是我遇見反爬做的,最,那啥的小說網站了,網站如下:

https://www.sztjgold.com/chapter.html?2#mybookid=83751&bookid=96158&chapterid=42616795

說幾點:

一,首先需要知道bytes類型是可遍歷的,emmmm,我是才知道。

二,python裏ord和chr的使用,我個人好像是第一次使用,尷尬

說一下反爬:

1,小說內容不在源碼裏,所以無法直接獲取;

2,小說內容經過加密和base64編碼後,放在一個html頁面,這個頁面返回的是雜亂的js,需要格式化

3,這個html頁面可以直接拼接,也可以按照源碼裏比較簡單的js來改寫成python語言生成

如圖:

查看源碼時,有如下生成鏈接的js,url_get_data就是對應的html鏈接

js需要的參數都在https://www.sztjgold.com/chapter.html?2#mybookid=83751&bookid=96158&chapterid=42616795裏面

可一一對應。

經過上一步獲得的html鏈接

對應的html鏈接與內容:

右側內容很雜亂,可格式化之後,放入pycharm命名爲js文件來分析

 

因爲論壇的重要信息比較凌亂,這裏整理並補充一下,因爲經驗原因,這些東西陸陸續續的做了三四天。

 首先是看雪論壇以爲大佬的代碼,我把他實現並理解了一下:

s = """
wr1iccOGw706w4jCicKPEk/DqUbCkMOqVVzDo8KSwoLCpRNLaeesuTwG56iV5YKv6YO65Yq/5oCKEMOlwpLDqlRHwqBIwp3DgcOtwqJTFsOKwrnCimDDq8OnUXpjDcOAwrs9w7hufsO7LMO2BlAd5ZCO5aSs6Lae57az6Zab6LiM6LqO5bye772y5b6s5pqr5Lme6KeM55iw6ZWi5b2F5rWD5Lm96YGZ772+4oCK5aaR776c5oCt5LmK5LiJ77yJ4oC0KsOGwpkuEy3Di8ONwrjDr8Kpw6PDlRvDscK6PW4ybmzDp1ACwp7DvcKvwr3CtW/CkjUyw4cvAuKDmuS/ueitn+aBveS4tuS4i++/mOS+vuiFsuW1j+WAjuS6h+S5nOS7qOS5s+W8hOS6ku++kuiFkeW2puS7p+a4leanouWQle+8suKDkcOcVBI7w6zDmF8KdsKMLsO8w5zCgsOOKcK8NgIQw7QrLsKGwp/Dq8Ouw7HDocOIwr7DmsOlwrzDgsKJ5b2K5re95LmP5Lqs5oi25Yyg556x6IS3776y5Lms5our5oyo55yK5ZCe5aWS55uz6b225ayi44ClCR3Cgz/CmsKKRcOLwpNiE3bDtS45FntrwofChwtAfcKpOcKxwrfDgcKoM8OLwrJCwoM+wq3igrjmibblgKfkupDkuqjkup/lvbjku7Dku5/vvIDig6PDuTzDmMOUCy7DjcORICDDgMKNGsK0ahlCdwrCjSkuwrstasOXNcKHw6MfwqnDscOewpZzw5nlkL/lp7zkubHohJHojZznhqLvvI3mm5Pmmo3mirjkvpTkuIPkub/lpKjlh6zliIjml6vlhonomLrljb7vv7vkvITku7Xlprnku6zlj67ku7blsafnvrTkup3vvJHmgLTkubvovYTmnavlsbDmiKnkuYzjgJNDw4lIwolnKEDDv8KrfyZ9BjzCp0bDr1rCrsOmwq3CmsK0w4XDrAvCjQTCgMKBw4jCrwIDJ8KR4oOM6L6d6KOL57KF5rac776S5L2w5ZC+5ZaL5bKP5aa75Z+W5Lur6Le754m75oqS576Z55is772A5Lui5Lir5omi5Lm/556/6YCY776j4oKcC8KDwrEEw6nDtMKVwonCoy/CucK/w6XCisKPw5ZqZzoKEsOkI8OkwrbCn8K0w4h0w7sUDcOmwpfDtlXlvoXmtYjkupzotpzplpTnnqrlkonlp6XjgabDpcKnw4TCsMK/HiNuGGwxbxTDv8KvwolTEcKsMsOjw7LCisOsCyvDlWN6wqw/w7sCwoTCrSblnqzlqLLlrYnnmZLmlZXlgJjvvL3pmLvlq6/nvYbnmKPpgKzlpYjorZnovILvv5/kuYflv43mt77kur/mtpDkv6XkuLLnlIrvvJrmiKbkupXlpb3njLjln4vmgJjkuaXlvYPmi6Dlkp7lp4Pnur7mkY7kuZ/jgJ0Iwo/ClH7CosKuwrjDmcOOw5l/Hk3DrW0sGMOEIMKkDMO8BCFZw7EGw7XCjTXDk8Klwoh2wrMA5ZGw5aa655+55pqv5pWb6K+z5p2G5Lq677yG6L+m6YKY5ZC76Lan5ZCP5ZSL44KKw4oWWcKba8KqGMKxw4XCvCRBWwrDh0LDgVt+wpsBw4kgwr8XJ1l1w7EdwpLDnVkuSWvigIbmi7rlkrbll4Lls5jlpLXms4npg5Tnp6jlhoTnsIbvvqjlj4zmm4XorKvor5njgrbigrrDvMKLw7BPw7XCpHvDhHjCosO1w6HDgklswoDDtxXDgXbCjEZ4wrzDo8KnL8KwHGnCiVrCmDXCssO04oGw5Y2f5pmo6K+Z6K6y776Q5ZK85ZCQ772F54y25ZyS5L6/5piq5pOC6LKd6ISw5LmC57qf5Luu55ii55mC5LqV77++5our6ZWy5LyX77+k5aSI5pya5L6A6LWI5ZeU5bCk5aer5rOK5YSV57C8772b5LuK5q2g5Zyg5raV6bGr6YSS5qWn55uH5peR5YGA776m5aay5LuG5LqP5LiC5Zuu5Lqf5L2R5YSk5oyX5Y285YWL5Lms55uI5Y6y77+z4oGUXn8PLHJCZkzDhsKnCh/ConU2UsOhK0PDlMOoFCYwwqwjwpfCusO6wqFIw4BaRMKye+KAtei9peafpu++uOS/mei/qOiLv+m4g+S7lumDp+aSs+W8peWLnO++t+S/quWSqeaevOi8keS5l+Wlk+iAu+iBk++9p+i8puS4juaakOWbpOS6sOWXl+WxqOWnsuaYr+iKk+m6ruS6huebveWzn+S7p++/gOS/tOWDjOWKmuWWueWwiOWku+aIr+aUs+S5h+S5neiJgum4peS7ie++s+WsjuS5t+Wupe+/jOKAn27DqD/CosKcfMKRw5zCu8KpMTDDnX5BwrMDwrgKAhMpUMOPQ8Olw5QGMMK8wo0FwqkcwozCveW+nOa3rOS4uOi2nOistei0suaevOazmO+9kueelueduuWRuOWmsuS6rOmgi+i0sOmWieOAl8KcCx7DlFovEkwLw703w4vCvElTwrFZwoB5UTpiw5vDt8OQLsKMwpcdw5fCmcONQsK5S8Ov5ZGU5aee55yb5pq/5pyN5rG95Lum77+i5Lms5LiC55+q6YC16L+U5Lq16YGO5pqe6LGe57mO57yj5oyC5YWa5p+G55qH772c5Lqq6L6H5Lmg5oKW55i45Yap5p6p44KKw4EEWMO3w6YvFQ46wpjCrADDom1RK2A7wrwfd8KvwovDiMOKwpA1w57CssOhwqV0OMK/IsOT6LKp6Kuy552/5pu854+r5aWO6JmO44KDw5fDp8OLHsOqw4wdacOqwqFBM0U+w7/CiwdTwr97woHChcKZIxFEcsK9OkJKaCPDiHAk4oOQ5L2z6LaC5Zal5bCb5aWw6YO35bCc5b6p54GH77685YqN6Ky05omd5oiF5Lyq77yJ5ZC/776r4oKXZcKGNAQJw4x8wpLCrgbCkQbDpkUOf8KEPsKtfh/DlUbCkMK5wrFRLRVdD8OPNDbDosOZ5b6M5reJ5Lqy5rCh5LiY5Lqm55uo5ZGD5Lqa5LiF5aG844Cmw5jCrnXDgy/Ch17CjnbDnU05wqQyw77DlcKFwp1nwq5Fwo3Chk7ChcOQZMOXJAtAGsKtAsKjVuKAhuW+rea3qOS6ue+9j+aLquefsuS8g+efouaakuiEheWusuecvei2teS4u++8kOWQieWQnuOBruKDnwfDn8KFecKzFWVhwrnCucOPwr4kfMK5DFjDi8Onw5PCn8OhwrYbaMOeZsKYw7lUw7XCssO/wq/DtR/lkpzlp4LnnILnnZ3lvIPmtZ3kurHvv6Hlh67nr5jku5bkuafloo3jgZVUw63DnW5weUZgw7bDuGPCvcKtS8O7wpvDsALCsMKeS8KYMMKxw7t+Qwx8N0bDl8Odwp3CoMOI4oKi5Lyg6K615Lqq5LmM77+O5L245pW85Lim5pS15YS26KyT5Liy5q6+776K4oKaw6LDvMKMw4TDo8Ofw7LCtcO2w4xrwrjDrDjDusK1XljCsVdowpAYw6vDrATCksOEElPCpRwkw4YewqflvqHmtJXkuIzmsqPlv7zohKvoiZrlvbDpmaznna7vvIrmnZPmnqTlsJjnnpDlk53lpp/kuavpob3nn6zvvZ7lk6TogaHljJ7lv73kuqDlkbnlpJ7ov5fmoojpq7TlpZzvvqR8TsOOwrbCr8KtWcK5wrsQwr/CnQtvPFpXw5nDvMOpB8OdL8KKw79qVcKxwrxjEMOwwptDXTDigqXmibPorZbkvrXohJblrpHnnqrotqnkuL7vvbXlkbzmu5nmpb/msqDmn4HvvZzigKnCksOPw67DiQLCrRxRwoTDn0/CpcKTJ2QUw6DChTXCpmTDv03CqMOOIsK/wr4Dw4t0PsOKwpLCjSblkoPlp4bphLLlpLvkuKjkuavmr4rjgZrClmpzwpVuwqJ5w6IfS8KfF8OiwpBtPScuwrDChzFxw6ZxO8Kpw54fcsOwCMKOEVDDq8Oo4oG9556p5pqX5Y6c5LmY5L2f5LiQ772V5Lqe5aSA5oqU6Z+75o+W5q6G5LyO5LuR55uK5LmR5Y+J776y4oCGw4sZw5cHwoBqS3HComFZYHt5SMOfwpN8w6ERw51AwpQ7JWtXw7s6Ki7CjcKNWcOPwovlvr7mtK3kubHooqTlkYTlpYzlvonluZHmsaXmmbTku6vvv4fmi6LltI/mj5DljajopZPlvLPlkoTlpI/oh6Pkubrmio/vv6/Dg1HDvlpHCcKkwp9nXcKBw6fDjcKRM8O6w4/DqmnDq3HDh3HDpsOeKRrCgMOAwptww6YiFAVF5ZKB5aSP6L6N5q6w5rOR5YSz6LiD772j5aWH5omu5Luw5oyy772M5bCD5omW5Lyg5Lm75byg5rW95LuU55id5omU6IWP776+bMOrw4lQw4ZRwrlaw7pAWHMuw6A0QGVnw65ew4VfEwTDoRZ3TCPDuDrDo3LCocKMw6flvKPmtqjkuZ7mi5foh5jooIfmjKjlvZfnlovnlojvvq/lpaTnnoHmspjmgpzli5TlkpvlpqXnm4Lmi57liazovIDkua7mg6Xmgp7jgbY5wqpLAMOkZsOJw6fCsyl6wqrCl8O3wqZZZl13E8KbwqbDmMOtNTXDjStLbMK+w5vCrsK7wqrCi+KCpOWlueWVlOS8hui+l+aWruWOh+aJqe++nuS/gOS4oOW4qOeJku++pOi0que0tuafsuW8t+aImO+8teKBksO1wqgHTsO+wrvCpsOLwpXCvTUNCkliHnRTMMO4UFTDtwMHflDDjwEwwrXDscKXw4/ChMOW5bys5ras5LiE55W45b+N6YKj5YWu5LmT5rGO77215Lqj5biC5aaG5Lq877yc5ZON5aaz6LyW5piX562A5LuI5q6y6Ly/5Lu85a6K5b+C5aWv44K5w5Vkw4wrwrg+NsK3Lh5Zw7wKw6zCn2F1KGFvw6rDojDCksKoMhzCosKgN8KvwrpeFcK7FuKDveWTqu+/vuaIheiug+S9lOiFv+Wuleechei2huS5qO+9luS9neWKg+S4ueadseazpu+/uuKDqcOrw5jCoXPDgXTCmMKDD0PCgnnCqm46w5jCisKdA8OZBsKRairDogEMwrxYLcKPbnVvMsKS5ZCo5aaq5o6C55yj5b6P5rWr5Lmg55qH6b2C5a6t77+15o6N552H6K+06YKx772A4oOY5om85ZOM5ZWS5bG55aah5LiV5LiV5Lix6YCI5rKL5p6g77+/5Lq36KaY5Lqh5Li46IWn5rCD6YKf5b6u5ouD6Lq25Lup5rKv77+t5Y6n5aeh77yw5L2H6Kar5byb5Y695Y+F5Lue5LuY5Za95bCG5aWR5bKn6IG56K265b6o5Yu+6ImR6bim5Li477y65bK05L206L+B5pmU5ZSd77+/5Lq95puF6Iao5a+y55626LWR5puG5Lq25Lin772D4oCuw7jChMKWHsKiwobCsDfDk8O+wpXDpcK9cz18w6fCnALDpcKgXTDDpGnDmsOwwpLCmWkVwpLCrVzCv8O34oCC6L67wrvDgsK/w6PDhm3ig55OBsORDV8Mw4tWwotTA2EzwqLCjynDlSzCsytGwr3Ch8Otw4jDg8OEwptwLhYow5DDtm3CoeW+gua0huS7peWThOWulei+gOivouaHluS/oeS5r++9q+iygOS+teWQi+Wmheiuneeat+S6guaesOeCuumAseeSnOWUl+OBjBI/UsKOXhLCui7DiiTDt3DDocKEw4vDjsKJwr5zw5QHwqUjAABzw5V0wobDoMK1w7djw64gw4zoiZbpurTkub7pgonku57kvIvpqYTmnInphY3nmr/vvJjog67mmZHku4boiqvkurDlkbnvvYvpmYTlq6DorqfllJvlsLLlp5Llto3ljovkuafoiZ/pubvkuLDvvYbnnIzmnoLnnpvnmIfkua7lpKLljYLogKjjg7PDr8OkE8OVVMKOAMKUw4fCpVYEMMKxw5nChSbDs0cZXsOIDcOZVX7Dq8OXwqc2w4TCncKNcnzChemCguWQqOWmseWNqOafseS4seS4lOiDh+mEsu++gOiArOiuhuiIr+m5nuS6ouWvneS4pui+sOS6gOS/o+mkguW6reiAu+ealeWSvO+/vsK5wrw8bjfCg8KJScKnw547wooDPlJrNR/CpcOOIcOpZcO/wrbCqAbDp8OOw5I0b1DCsGU75b2I5rah5Lqg55q65oGu5LiS5byU5Yat6KWs772Y5aex6Zi357q55oWX6Kak5YmX77yw5ZGT5ae66IOA5a2X5pu65p6s5LuY556q55685aeg772bwpPCn8KhJlsYAMOSw6Byb8Kuw6R4wpPClsKCwrTCtllGbCpkL8OUEgIdesO8GsKYw7kxw63mnoLoi4HpmZ/ls7nogqfmma3lpbDkuobvv6flpabmm7/ml5XorJjlpKzkvK/kuajku4HnmpLkvo7lkbvlpL7lk43llYjls5/lpojmnY7mnKXnmIbvv47mrq3nq6Xotq7lk7XlpI7nlqvmtb/ku6DkuJvlu53lpLHjgqhMEl7DtsKJMzh/Bi9uw4LCscOCwrwMYGrDnw8jwoQLQytheMOXNcO3w7HDjHIfw7h+4oOU5aSH772v5L+g5YuJ5YW35Yum5LqX5Ymv5bGJ5oit5ZGm5aaI5Lqf772V5YS85a6n772I5ZGz5aSI5bmy5Lmp5YGg5L+v5oGB55iv6YGf5LqU5rG/55a1Oh7DilzDgcKK4oCIw5fDp8KPw5FDwqJ3wo5qRcK3wonDnWwAw6TDpsKLe8Kiw50JPxUXw4TCr8Odw4/DncKgwo1tNw7DtOafvuiImumam+WJu+W9nea1juS5qO++huS/s+aYteaAleW/sua3q+S5g+aLguW+kuS6vueDpe+/ieWmjOW6neaxv+acluitsuWHteS4peWkieeZremAr+mAluODkxzCsi8Zw6ZcQMOfOhclwqnDonbDl8KWemDCu8ORwqkfwoXDvWY7ERkew40sCcKPw4fDocKx4oCv5LqV5bON56+H5p+k54CH55Wu5LmF5Y295oGf5Lq15qOO77ya6L2d5LiE5pug56iK55i75YG654u95L2h55is772p5Lmx6Kei556y5pyj6IOn6ICB5LuU77yI5b+u5LuQ55md5YWC5Y6b5LmC5pax5oqA6Z+g5YiE772L5omI5omx5Lmg5b6A56aM5a2B5Lyn6LeL5p2G6YOF6KKV772V4oKDwpXDjMKbNsOywr5Ow60Tw500w5s8DFpXwpnDv8K4IMKjOQHDjFJ1EjbDnWxwKMKdSsK9wp/lvq7mt6LkuK3lvr/mg5fngKznm7norqrpgb/vvIrlpbnmmLvlp47lqJjlvKPlk4Llp5vnqa3ku5Hjg7xbZsK8w6hGacKKSkTCkcOkDcOUG2VPw5nDqWAbwq52PcKIw6FXFT8VWcOdwp4IT3jDkuKBoeiuquS9vOS9leS7n+WmquisgOebgui+oeWNqeitlOWwjuihpuODqOKCrOWRnuWmmeWGnuWGqeefo+S6l+W9oua1keS6reS4uuecr++9meacrOW/meS5nuWkgO+9gOWbs+S6uOiFieW1j+eZm+aJsemUvuOBuGMow5NPwqIBEBIawq4Iw6A8w7g6b0rDoX/Cs8OmwrkYw5sfVMOBNsK/BcKewp7DqBAow6LigJzkvYrkuqjnnrnkvaXkuK7nnpTvvoHov5LmiorkuoTogpnogpXnmZjvvbvlpZPlg6HnnZHogq7miZXlhYfkuY7nmJ/kuLDkvqDnm5LvvrjigadWw5bCtMOecwobf28DDR5UGlPCgxZ6B0nDpnNbw6FzZCoewr7CvsKvwrfCscO2bXjlv6DmtYHku4vmsLblvZnpg5boto7otrrmnbbkuKbjg47DsMO/VsKCD2/DlsO5FMK/dj1mAcOJSMOPwosgwocbBHfDo8KwVElvw6wpw5rDusOYE8OBw7jmnJXoi7Lpm7vlk6Hmn6zoibHorrrotJXnt5vlrIvmiq3lvqrmt6rku7HvvIDkuLHovrPovJrlpoflpIHku4/kuK/ku4flpaTmgJTmnZ3kuKXvvpjlkoXlp5rvvqLovpzkuoXkvaHkuajnnqvku77nmJfnqK/lmKrluYHvvL3lpKTlgY7nnJrnmJzlkbTkuanlib3kuZDlpJ/kuo3mobbku6jDiEc8XcOMw5HDgAbDoMKmw5A7w4TDl8OISE3Cg8KpCMOfZWHDu0zDv0Ebwo7DiV3Dum8Zw4PCuWA0w555w7rDnsOCGkXDiQE3wpLCmMOaw7/Ci8OmPnhMTsOETsOHwrsMWsK8ecK5wr7DrMOPJSfCsi00wrvDscK5PFXChsKrwqs85Yis5Lu75YGR5pm+55uR5pSU5YO5776y6b6M5pmJ57uv5ZGS5aar5omA5pyK5Luy55a46K2n44Cjw6Qdw6A+w7gjwojDiMKUNyfCjMOYw6NeKTRhT8OFJcKEI8KYDRpIw5nCkMOlakI6fMORwrnnlbDor4LphbvpvIHmm7flkrHor4zlk7DlprzvvpXmnIrkvLbniLTku6Hlvqzmg4for5jlkoLlp73lkbXppK/vv4rlv6Tlv4rkuorku7LlvZ/kuJbpmYzjgKXCgwrCm8O3PMOfbQ7CrsOuNFt9w5DCu8KOwospUitbecKzKcOOwpjDhcKewpBnwrfCr0zCvGVW5ZKn5aeR5oCO5Lmr5oOJ776Y6L6J5puD56y35bqO5LuH44KfOkkOdsKSwr/CkhxqOycPRwbCv8OlbVnCjioCw4PCoMO+Il1qwpXDpU1OwrDCtF7DinzlibDlhqzplpHvvoTlsp3nnIjlibfpvJrmm5rlvJbnnJ3lrbPliZbov4TmlLfmlbnnmI3nrovln5Pmpp3kuY7kuIbjgZNDNjNoZsONVFAaw6RlaE/Diy/CsxIgwr3DtcKUKsO1d8Kyw5sxUcO+FnNVZcK3D0fov4vkurnov4nmnIbmnLvkvZbniaPlkJTluZLpnYvnqIzvvJvkv5bkuLvngabmgq7nmr3ot53lkK3lpZvmiqnmirblk7DvvLLln7flkK/lpafpn47li77ljYHlvqjmnaXkup/jg6/Cr8KCwr5TwrYAw6vCoFs7wr1Uwp4qwo5iw4IMERdqVC3CvcKPBAlPw73DosOWJsK8d8Kcwr3liJvku67kuoLlr4Hkurjmmo3nupPph77luJ/lkq7vvYXlkLvlp5zpmKfnnpHkubPkuZnovbfkuJvku5jku6LosJzljoTljoLplpzjg7M6WAIxwrJIw7M7wqswFMOSFksxw7YXw5/ClGXDicKAHBxfNsKyw57DpsOwLUguRkku6L+o5pqZ5p6b5L+C54uQ5pef5bG46aOR6K2x5aaY55uv77+55bGQ562p556F5om35ZO25aSk6K6h5py25Lq/44K5wroUJzrDuMKkwpnCh2jCulsiJy/Cu8OMfxHCoMKNwrXDsMOhw5rCksKZcyPDlV5/wpTCu047w6Pig5/lkIDlhLfnlJjvv5XovLjmnozphKTmip3mlZXmgaLvvpfkuZ7lkbzovLjorLXlpqrlpqrlhY3nh6rlkrnjg5PigYDCgsKywqUtwrFUwrnCty4hKjLCoMKUwoEDw4Juwr7CrsO7bsKIwqfDr8O8wpTCnRk6woR1w78xQ8KZ5pyP5L2m54ur56iM6LWk6Liv5b6g556K6Ieg77yx57m+5ZC55aSl5pSO6YSq44K6wojDmcOkSWjDusOLGMOGw6k+wp3DinQow7AxKMKww4UXw7nClBXDvsOYw71/FQ7CncO/a8KewqfCneKAqeiBleadpO++muS+vOS4heeWhui/g+S4nue0vOW+nO++guS5heWTguWnm+WtgemDs+aaluadnOWNtOODsOKBuHElw5fDvDZdw47CjhbDrMKFwqFYwqkxwqhAwpLCuMOzwrk8w5wvUkF4Q8KcwohhwovDssKMwoZH5ZOM5aez5pCV5Lqw5pCn5oic77yV5byM5bqP5rej55mQ6KyB6YGf44CVXTdcwpggfjcGwqUqw7bDkVjClmRnWcKUfHbCkcKNw4HDuMK1wqk4BsOuLsK1LMOjQcKNwrPig7zkuLXmlKvkuIrml4TvvZjmipfogqjlgqvlk7rlhZHnlbnnmJ/pqYnli7rlsojljIfvvKfls4TojYHluITkuJXohLrkuo/jgbrigoxOeg1vwoDCj8KIwpLDrMOZw744w67DoMKtw7RYGsKTCR7DnMO8w60owoTCr8OIwr7Dl04yOx7DnMOU5p225L+h54q56LSL57SI6K+16YCZ44G7FsK9D18RwqnDscO+w73CicOOwrtuwrwPW21nwqXDnnJQMDHCg8K7AX3DpsKhwrTCrAZ5FCXigrzlkKzlh7HnlJ7vvK/mi5/kuLHkuaDli7DnmJjkuIblkKfkvqjpgbfmrY7vv7Tmnafvvp/miLrku6LmlZzkvZvkur3mnpfjgYLigY1HFC9xesOEN8ONLiEnwphRQSHCs8Ojw6wkJR8FwqAzwoTCpMOWw7vCp8KuecOlwq/Dv1Rb5buO6Z6W56iw5amj55yk5aaX5rGG77+E5Yam5ZKW5aSK55iS5pe555eY44CAcH/CrgfCoQteKcK8woJuWTZDw53DrDdPWsOZw5BuwpJgHcO2UCbDjcORw5rCqFJqfMKy5pSk6Ya755uh5pad5YCs77yi6Ly25pSF5oSB5byQ5ZCT5aSI55q+6IKU6Ia95LiW6Lii5Lu76LuP44CIwos0wozDq8O+CMKudj9SwqzCgcOlw4cDesOdw6sLGcOGUT7Cq8KKU3LCn10Ywrpzw59sDy3mraLlpIPlpYfovbXni53lq4DvvpLlpqzopbbmm5LmiKjohKHotaDmnJ/vvrLmmLDkuqbnlajku73pgqHpo6Lku6zkvKnjgL4XworCq1bCpMOnU8OAA2RLFcObYVdOw6Vfw40nG8KrEMOOw5PCoMKJw5A/wqpvMcK5DMK2wr3lkojlpI3oobrlpbrlvq7nmrPmnrfkuarngqjvvqbluo3ku73kuK7kuLHku5rlkLLvvYDpgJbvvrzigqjmiKPljbTotoTlj6nnl57plJfjgKzig4/DsMKAc8KeJsKPQcOjwrZbwpkFQXYAw5vCgGDCvybCicOYTgfDv8OHw4Q8DcOyw4cpwrjDt8OzMeKDveWTo+WHj+eWiO+/k+mdouS4sOmeiuilteaLtumZjeS9oeWOiuWRue++guKBj3JzFF/DuEtRw7QvwrQMfcKKUcKEw7cJwp1IUXpcwqE8d3XDrsK2woLCoR3CvXrCuMKHVuW6v+meq+eqtOi8n+aVm+eolui3qOi6qO+8qeiAq+iGieaRvOWdjOS5kOWRpeWnuOeZiuiCsuiElOS7gOOCgTNyLsOJJMKmS8KvccOnw4bDqyZFCwF/JsK3wpd5woUFTMKTwo4ywqUswqdLw77Dt8O3w6jCjumej++/rOS5kuWMiOaJv+S5h+mYjuedi+++uuaTluS7peS7jemsgO++tcOaw7czanrDvcKkLsODD2grwrXCoDcbeB3DhQDCgcKOw7tEWDsmNMK3MHUUw57DlsK6w67lkL3lp4Lnnbzmmo3ml7TorbnkuIbvvKPnnb7kuK/kuITnn5fmn4Lkva7niJvvvb/ig7bog4LmnI3vv4HkvJHnmrjlprLmgZfms4Tmi5Hllpzjg5zigYJpwpbDs8KHEsOyQMO/wrYsVsKiEVV0wrkdw5/Ci3fDh8KPw7bCisOAw6nDrsOjw6lRL8OkQ8OROEPmnIPkvLrniJnlgYvmmYvmsoXlv6rlvbLphLvljKDvvqTom5TorLrlu4LpnaLnqZbmmKbkuILmnqrll53mrpTnm4LkupLku4bmgbfku7jvvorkv7rlpLzmn6rlpoHnn4rmnbbmnYvkurjovJTkvYnlk4LlpJTvvrTmnYXkvo3ni7Dkur7kuJvkupbmhJDnlKLlpazmn5rpk57kupzkuKHotbjjgJYfScKIX20Zwph6w70rw7dkw7vCocKnwqXCm8ODeUTCnxnCnMOIw4AVwo7CssKKAsKuJgTCmwzDjeWNg+eesuagiuWupeWRqeWkmeS9meS7l+S5tOaFq+WHi+i1qO+9muaeleS8geeKm+WQqOWXu+S7o+Wilu+8pOKCn+WQv+WTq++/v+mehuerpuS9ruWMmOS7g+S5geilm+a3iOi1ju+9pOKBi8KaIF/Doh0Kwqs3wrtQw4BHaMOmw5nDnsOgZMOBNGIuBsO0DcOcX0jCuWpCKRQBdcON5buX6Z+D56iG5byW5rKI6Lem55mF5ZmN5LmU5bmF5L2C776h5ZOM5ae95YeS5Lu65Yy95ou277yR5byb5Y2/55ai6ZWG6LWY5Y6O44KMwqISZR7DsG/DjcOaw5XCt8KTAMOow4hRDVogw7BmTmIjw60GOcKOwrXDlMOYQS7CocKdBW3ljJvli4notZ7liKLpmqflo47lj63mi77plp3ljZHvvKvls6znnp/libzovpXljonmiYTnmLXplpvlv6bkupzvv7Dku7LkuoLluZ7ovqLnlbjlrZfnqp3ln5Dplbvlj53vvIPovavmkY3nnaPkuK/kuJXmjo3mvr7kuJ3nmKrlpK7lrb3jg4bDpsOpOsONbRp/YMK1w7JkAQAOwq56wrRIw6nDngbCmCxaDULDgsKlw6/CtmXDh8OdwpbCnwnig7TkuZPku67ojqPpgbXovZ/kupbmhbTvvZfovpXkuZnmm7znu6bphpzluablkoHvvqHigInnlq3lroPlvK7ku6rmgIrnm6Hor4DkuoDku5zljpfvv4XnhY7lkK3nnqjliozkuoTlkr3lpobvvqzkuanms4/lprzmsrbnm7Torb7pgqfvvI/igL7kvIrmmIHmnrPlir/lkaTlk6HvvoflvrPngbDkuZHojajllYDvv5figIE6w5nCvhdee2AwwrjCjcO9MQ9Dwr13w6PDjWbCu1BMwqXCjcKwc8Knw5DCqcK4eDDDrSwCw6DmnrPlirDlk6PvvLDCkcK1NnNjwqkFw7dlFTvCtMKdd8KAGX82E8Ova8KDwpFIWsKVwohsYkgPwoLDsMO7wprCoOWQo+Wli+efvOS7s+eeuuiFiOW3h+S4ouWnl+eqsOebs+iijOaesO+8n+mguOaUk+aal+eZveS4muOAvcOxw5jDlsKoRFjDm8KIw6XCs3VJFijChMOYw6jDisOSCcOWwqEyw4LDksOzSsK1YMKkTsOhwpAkERfkuL3ovIDoubXoo7bmnYjmm6nmn4rng6vlg7TmnJbliKPkuZ3lk4nnq5TnmpXvvJDmg4bkub7lv6/oo7fovpDnlJXlrIboroHkvprjgIhvXMORwoo+w5tawoXCqsObSjNCDA3DoBXDtGxDwrYsw7TDi8KpwoHCp3dsasO2w7TCnsOvwplX5YuC6Ka46Kyj6ISR5beP5LiL5pue5p635YmA5ZKk772h6L2i5per55ev5a685pKx556u55i66YKz5LqT5ryw5Luh5aep5ayv6K+/6K+e5Lit77+P4oGG5ZCF5ZKF77ym6L+C5Lmi5pmh5ZOH5ae+5ZGo776W4oO6ZcKrwqhHeSNxwrTCpsOiw7rCulccw6g8bcOlZcONFnfDvsKMw5HDtMOBN8KNw6vDjcO7w6h9wo8/5ZGA5ae35Lm05oK877+h6L2+5oi155+D5LqV5Lqr55yn6L6l5LuM5ryw5LqM5aWZ5a2T44OJM37CoMKEw4zDp1hwZ8OuDxXDmMKNGirCvMKVwrFIw7dkwqsZIsOGJMKJdMKXRAwtNMODb+e6mOS7oO++kOS4luitq+WGqOafnOS6pO++o+i/rOS4r+aaleS6kOWvreaVpueYtuWRneWuneaftuebrOeaheS4q+++l8KSP8KEVkXCgsKaesOAX8O8wrxHCMKfB8O7w4vDkcOHw67Cs8OlwqXCkxkyw7XCm2jCu8OVcMKoWsKx5p6C55iM55ie5Z685Luy5Liy5a+25peh5bOT5pu5542O6YW85LqY5pyS6IiI772E6Lyt5LqW5bm86LyM5Y2i77+56Jqn54a15qia5qKe5YyG5Y6y5Lup5LiX5Luz77yw5Ly15Lyh54eY5aet5r295Lmn44O2w7XDlTrCjcOYwoACGcK7X0vCjwkJAsKkwqJ/VMOoB0jCoFM/wo5hTi0SwpIxTnZeCOS4puWHoua+s+S7ne++vei5s+acv+S5peW9geWmgO+8ueW/n+W7puWQsuWkrei+huaYg+aAvei/oOWmgeWSuOOBghk7w5XDlgXCp0dXwrlyQCZUb8OjwooeFMKsw77CkDPDlcOSw5jDlk/DrcO5MQs6U3R+w6bljaXkurfovKLlvrnmlr7nmbflkJ/lprHooozlk63npLjmnqnmlIvlhLrvvKPlrprph7HnqaXlv4/ljqHpk5HlkqHvvoblvKnoop7lk6DlrZDlkYPogYvluIrnn6Hkuajot77vv6TlkaHmlrrov5rmsb3ku63lr6/njbXoiqfvv5JMw6LDkcOPw7/CkMO3ecKpKCwQHAkUAEzDocKnw65HXsKlZUzDuMOLw73DpHtawrEIwplbw7/lpIDlu5znm7Log7PlkJflroPphoHpgKfvv6nlj4fmmYbluqnlsIPmlbXmmIjmgqDov5rnmIPlpbLnl6/vvonlkKrlp6vnmb/lv43kub3ov7fmmK3lv6Hmv5XliqvnmrDjgaPDnEHCscKqKcKUXcOGOzRIwr3DrMKjFcKKw68vw7/CtBRKNEbDvcKawrPCjsKUw4/Cn8Kfw5LCqDTCpeKDhOeZt+eaqO+/mOWnveW1t+WXqOOBu+KDt8KoZMOJc3lbwoIwwoEwwoBfE2HDsw3CmMKbbRrDmTVrw4DCucK5w6DCnijDicKaFSPDiMOweeWQsOWmq+ads+edrOadtueajuebo++/heaEg+aFvuebveisu+mCquODrVnDt296wqbCv8O+w77DlsKEw40DQEcvw4HDjD1XPw8KdyLCqsOMFcO1w7EPw7TDsD/DqAPCsuKDiuaZreWRv++8nuWRgeWsq+iBneS/luS8teavvuWmq+i1uuS4je+/j+i+uOedouaai+W0nOOBl+KChsOywqUGXMKQcMKXwqcpS8KwwqnDhMOPezfDk8KdTH7CpVR9w7Z/wqpJesOMGgDCkMKgw5rCt8Kp5p+T55qx55im6ISR5Lml5bq15rmL5Lim56+45a+m77255Lqd6L256KyE6L+u6K+W5pSE77yg5Y+c5pmg5LqZ5Lqp5Yi25Lur5oiV6YSa5LiL5ZGz5ae35LiO55WU44G/P8OZOU0hw5BgwrbCisO1YsO6UwZkw4LDkQzCtMObw6BGw7tXw6E+wofCtMKZLsKxKsKSw4wReueeleWIuuWTgOWkuueajeeqs+ecju+/s+WkouS7luekg+W+oOmGp+aakuiEm+WmpuevvuOCk8KmNA7DjmTCjMO6awItRcKQRcOgR1bDkFLCuxc7wprDgsOIwpBmBlsgw4QVW3TCjsO5w6bovbnkuqTku5zlu4fovL/ljKvku4LvvLbovbLkuovogpflkbHlroHovqfmmo/kuqjlp53mlIHlvpLnmpPokYDprr7llZTvvJTovrvni4Dku6znqJLnm6zovarouqjlp6jngK/nmKLooaHmna7pg7PkuL7ku6vot6vlk7TvvKPClDDDgA13ZMOfaMOpGMKYwpbChMKvw4vDmUwmR8O/w4tPw7JUaMKYJcOzwo1Nw57CsMOgZcO+KeKBk+Wvi+i3hO+/sei9meaaqeS+pOiDo+WRo+WvsOWUnO+8uOWQmeWQpe++qeeqpeaIq+i/iOaguu+/t+aLiOi9uuS5ouS5p+acl+WJjuWRnuWRluOBhOKDlsKSw4Vww5YUCMKwwqPCo8KPOsKww7DDp8OAw5DDh0rCo8ORwqtZw6DDn8Kbw7h1V8OBUDBqBkJxc+aSsuedpOaeteeaj+eatueapueUuuWtq+WYs+WUveS5i+euqe++qOiuieaxleS6muW4oOefhOWameismuS4jeaEieOBtgbCrcOFwrAtwqxdXlnCtE9vwrQ4BcOXPGbCsTMawp/Ch2RcwpkdNMOQwqvDg3PCvXbDrB/lkbHlpIznn7rlhonovpjnloLlrJ/lrZ/ohr7ltqnnm4TphZjop5rku4zmh4LkuJbvvozkuKvovK/mlK3miJXos7bvvoPlkoflpp3lsoPmmYvlh5nnlZrli67lvaTlpb/jgKzCucKpJcOdbFzDpsKFwp1Sw4XCnlTDlMKwCMOkwoAkVgzCmS/ClsKXPcOHwojDjhV3wogoQsOra+KDheaYvuWQtuWviuWPiO+/rOaIq+i+mOS6v+iBiOWQjuWstOWvpOmGvOaNm+eqtOeYhe+9quS6huS6jOWuguaZhOOBoOKBncOLclbCmsONJggPeMKTK8Kuwr/CnlrDs0HCsRjDqg57WcOIY17DvMKpw7PDmcOnGwE2w5gY4oC15ZqY5Zq677+S5b2g5bmU5LuA6L6g5Y2O5ZGh57i05oqg5YS16L+J5oCG5LiM5ZCs77+35Lyx5pmr5a2H6L656KGC5oiA6Kyf5YSQ5pyt5LmXw6PDocOuHcOlwrnigqjDmWt4XkDDjGFxAFjCm8OpHsOkIMOmw5lPI2h0wo00BcK6FXVCw6bCi1bDgcK7wol1H+adm+eYsueYqeWahOWZv+S6veevse+9huaQq+edv+azgeWsvOWPoeaSh+i3l+S4teWrgeOCkXfDl8Kvw4UgWsOTW8OjPTnCjsKuw7vCpMKib17DscK3w7TDscORw7TCusOHw4gnwojDoMOefMOvCSnDueKCpuaYluWSgu+8tuWRn+WRq++/uOeem+S6uOWEsOaflui9oeabnuS4jeaCnuWelOWSu+OCn+aUsueEkOi0v+S6mOS6ue+9rui8peWPpuWSqueBh+WVgeeAnOWTo++8i+KBsBNxwrFvGMOTwoc+DMO1w5jDhEnCi8KHw6oswo4fwoBhSMOwS1jCtMKqw6Qtwp0CR27Cv8KwC+ayqeWtsOWOiOW+hOaYouePiOWSo+eamOevreS7m+eti+++tOW8puaDvOS/sOS4iueqi+WTiei9oeaWt+eviOaImOWkg+WNieWPhOeZtOeYg++9tui/oOaUnOe5u+Wlh+WFnOaBneS6qe++jlrDocOow6wdSwHDrMKTNC7Cm054wrZ0w4XDuQM5w6nCoMKff8O+B8KpFMKKw4dodMO3w4UCX+KBqOS7muS4se+8seaIj+i+ueacl+aehuWNieWfleWOouS7keS6pOWNueaLhOODh+KBmOWRkeWln+WoheiqgOaLuOe5teOBhMO1w71MRnlPwoTClMOewqvDpMKdwrzDicKIPlY4CcKxRMOmwqtQw6DCg8OLworCjsK1JRoWZAcB5rOr5a+y5YyO5Lis5ZOb5ZOI5aaF6L+d5LmQ6Kys776156qG6aqA5oyx5Ly15Lm85ZK55aSr55ml6KKG5p6i77yM5Lq26IW05o6o6KKl55mA6YOi77yc4oCH6K6N5Lyu6L+d5Y2W5L6I5bGI6L6k5Y26772/5oK65Lq95ZyO77+y5Liv57is5om15rCU5bCV6Z2h5a2b5pux5LmV5pqN77+I4oCc
"""

# 解碼
s = base64.b64decode(s)

temp = ''

for i in s:
    temp += '%' + '%.2x' % i
    # print(temp)

_0x2bb54a = unquote(temp)
# print(_0x2bb54a)
_0x998f21 = [i for i in range(256)]

_0xe50218 = 0

for _0xe91751 in range(0x100):
    _0xe50218 = (_0xe50218 + _0x998f21[_0xe91751] + ord('&f2F'[_0xe91751 % len('&f2F')])) % 0x100
    _0x5460c2 = _0x998f21[_0xe91751]
    _0x998f21[_0xe91751] = _0x998f21[_0xe50218]
    _0x998f21[_0xe50218] = _0x5460c2

_0xe91751 = 0x0
_0xe50218 = 0x0
_0x411bcc = ''
for _0xd4adc1 in range(len(_0x2bb54a)):
    _0xe91751 = (_0xe91751 + 0x1) % 0x100
    _0xe50218 = (_0xe50218 + _0x998f21[_0xe91751]) % 0x100
    _0x5460c2 = _0x998f21[_0xe91751]
    _0x998f21[_0xe91751] = _0x998f21[_0xe50218]
    _0x998f21[_0xe50218] = _0x5460c2
    _0x411bcc += chr(ord(_0x2bb54a[_0xd4adc1]) ^ _0x998f21[(_0x998f21[_0xe91751] + _0x998f21[_0xe50218]) % 0x100])

print(_0x411bcc)

結果:

 我們可以看到,大佬代碼的命名很特殊,導致代碼很難分析。

其實,他使用了js文件的命名方法,這樣分析js時,可拿着他的命名直接查找,利於js分析。

 

我在他的基礎上,使用常規命名重寫了代碼:

resp = requests.get('https://www.sztjgold.com/files/article/html555/96/96158/42616795.html', headers=headers)
# print(resp.text)
base64_text = re.search('=(.*?);', resp.text, re.S).group(1).strip()
# print(base64_text)
base64_text = base64_text.split(',')

# 找到密文,密文特點:最長的base64編碼後的字符串
max_long = 0
max_text = None
for i in base64_text:
    if len(i) > max_long:
        max_long = len(i)
        max_text = i
# print(max_text)
s = re.sub("'", '', max_text)
print(s)

# 找到解密需要傳的第二個值
key = re.search("cctxt=.*?\D'.*?','(.*?)'\D;", resp.text, re.S).group(1).strip()
print(key)


# 解碼
s = base64.b64decode(s)

temp = ''
# 遍歷處理解碼後的內容,s的類型是bytes
for i in s:
    # 轉換爲url編碼,拼接
    temp += '%' + '%.2x' % i
    # print(temp)

# 進行url解碼,獲取密文
ciphertext = unquote(temp)

# 創建一個數字列表,0-255
num_list = [i for i in range(256)]

x = 0
# 轉換數字列表,達到需要的某種順序
for i in range(256):
    # '2Xd^' 是js最後傳的參數的第二個
    x = (x + num_list[i] + ord(key[i % len(key)])) % 256
    y = num_list[i]
    num_list[i] = num_list[x]
    num_list[x] = y

print("#"*20)
print(num_list)

a = 0
b = 0
content = ''
# 密文解密
for i in range(len(ciphertext)):
    a = (a + 1) % 256
    b = (b + num_list[a]) % 256
    c = num_list[a]
    num_list[a] = num_list[b]
    num_list[b] = c
    content += chr(ord(ciphertext[i]) ^ num_list[(num_list[a] + num_list[b]) % 256])

print('*'*20)
print(content)

效果:

很清晰的可以看見幾個關鍵之處:

解密的key是用來使一個0-255的列表排列達到某種順序

排序完後的列表,才能用來解開密文。

最後,重點來了,我們按照大佬的文件分析一下js

在一開始,在圖片中,有個問題寫着。

這個在吾愛裏,剛好有大佬提到。

 進入這個方法:

我們看看這個密文在哪被使用了:

 

繼續往下走:

 

這裏做的是直接對獲取的html頁面加以處理,不包含鏈接生成,因爲它不具備難度,就不詳述了。

記錄一下js的破解吧。

--------------2019/12/27------------

勤奮使我更新:

完整版代碼:

import re

import requests
import base64
import os
import re
from urllib.parse import unquote

# 原文鏈接
url = 'https://www.sztjgold.com/chapter.html?1#mybookid=83751&bookid=96158&chapterid=42616797'

# 關鍵數據參數
mybookid = re.search('mybookid=(\d+)', url).group(1).strip()
bookid = re.search('&bookid=(\d+)', url).group(1).strip()
chapterid = re.search('chapterid=(\d+)$', url).group(1).strip()
print('參數:')
print(mybookid, bookid, chapterid)

# 就是那個js裏看起來很麻煩的,
# var Protocol = window.location.protocol.split(':')[0];
# var ymurl=Protocol + "://"+window.location.host;
ymurl = 'https://www.sztjgold.com'

# 向下取整在python裏就是取整
xid = str(int(bookid) // 1000)
# 構造鏈接
url_get_data = ymurl + '/files/article/html555/'+xid+'/'+bookid+'/'+chapterid+'.html'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
    # 'Referer': url,
}

# 下面就沒變了
resp = requests.get(url_get_data, headers=headers)
# print(resp.text)
base64_text = re.search('=(.*?);', resp.text, re.S).group(1).strip()
# print(base64_text)
base64_text = base64_text.split(',')

# 找到密文,密文特點:最長的base64編碼後的字符串
max_long = 0
max_text = None
for i in base64_text:
    if len(i) > max_long:
        max_long = len(i)
        max_text = i
# print(max_text)
s = re.sub("'", '', max_text)
# 編碼且未解密的內容
print('編碼且未解密的內容:')
print(s)

# 找到解密需要傳的第二個值
key = re.search("cctxt=.*?\D'.*?','(.*?)'\D;", resp.text, re.S).group(1).strip()
print('用來重排數字列表的key:')
print(key)


# 解碼
s = base64.b64decode(s)

temp = ''
# 遍歷處理解碼後的內容,s的類型是bytes
for i in s:
    # 轉換url編碼,拼接
    temp += '%' + '%.2x' % i
    # print(temp)
print('解碼被轉化爲URL編碼的內容(解base64編碼):')
print(temp)
# 密文
ciphertext = unquote(temp)
print('解碼後的內容(解url編碼):')
print(ciphertext)

# 創建一個數字列表,0-255
num_list = [i for i in range(256)]

x = 0
# 轉換數字列表,達到需要的某種順序
for i in range(256):
    # '2Xd^' 是js最後傳的參數的第二個
    x = (x + num_list[i] + ord(key[i % len(key)])) % 256
    y = num_list[i]
    num_list[i] = num_list[x]
    num_list[x] = y

print('根據key重組後的列表:')
print(num_list)
#
a = 0
b = 0
content = ''
# 密文解密
for i in range(len(ciphertext)):
    a = (a + 1) % 256
    b = (b + num_list[a]) % 256
    c = num_list[a]
    num_list[a] = num_list[b]
    num_list[b] = c
    content += chr(ord(ciphertext[i]) ^ num_list[(num_list[a] + num_list[b]) % 256])

print('明文:')
print(content)

# s = """
# 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wpXCvTUNCkliHnRTMMO4UFTDtwMHflDDjwEwwrXDscKXw4/ChMOW5bys5ras5LiE55W45b+N6YKj5YWu5LmT5rGO77215Lqj5biC5aaG5Lq877yc5ZON5aaz6LyW5piX562A5LuI5q6y6Ly/5Lu85a6K5b+C5aWv44K5w5Vkw4wrwrg+NsK3Lh5Zw7wKw6zCn2F1KGFvw6rDojDCksKoMhzCosKgN8KvwrpeFcK7FuKDveWTqu+/vuaIheiug+S9lOiFv+Wuleechei2huS5qO+9luS9neWKg+S4ueadseazpu+/uuKDqcOrw5jCoXPDgXTCmMKDD0PCgnnCqm46w5jCisKdA8OZBsKRairDogEMwrxYLcKPbnVvMsKS5ZCo5aaq5o6C55yj5b6P5rWr5Lmg55qH6b2C5a6t77+15o6N552H6K+06YKx772A4oOY5om85ZOM5ZWS5bG55aah5LiV5LiV5Lix6YCI5rKL5p6g77+/5Lq36KaY5Lqh5Li46IWn5rCD6YKf5b6u5ouD6Lq25Lup5rKv77+t5Y6n5aeh77yw5L2H6Kar5byb5Y695Y+F5Lue5LuY5Za95bCG5aWR5bKn6IG56K265b6o5Yu+6ImR6bim5Li477y65bK05L206L+B5pmU5ZSd77+/5Lq95puF6Iao5a+y55626LWR5puG5Lq25Lin772D4oCuw7jChMKWHsKiwobCsDfDk8O+wpXDpcK9cz18w6fCnALDpcKgXTDDpGnDmsOwwpLCmWkVwpLCrVzCv8O34oCC6L67wrvDgsK/w6PDhm3ig55OBsORDV8Mw4tWwotTA2EzwqLCjynDlSzCsytGwr3Ch8Otw4jDg8OEwptwLhYow5DDtm3CoeW+gua0huS7peWThOWulei+gOivouaHluS/oeS5r++9q+iygOS+teWQi+Wmheiuneeat+S6guaesOeCuumAseeSnOWUl+OBjBI/UsKOXhLCui7DiiTDt3DDocKEw4vDjsKJwr5zw5QHwqUjAABzw5V0wobDoMK1w7djw64gw4zoiZbpurTkub7pgonku57kvIvpqYTmnInphY3nmr/vvJjog67mmZHku4boiqvkurDlkbnvvYvpmYTlq6DorqfllJvlsLLlp5Llto3ljovkuafoiZ/pubvkuLDvvYbnnIzmnoLnnpvnmIfkua7lpKLl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
# """
#
# # 解碼
# s = base64.b64decode(s)
#
# temp = ''
#
# for i in s:
#     temp += '%' + '%.2x' % i
#     # print(temp)
#
# _0x2bb54a = unquote(temp)
# # print(_0x2bb54a)
# _0x998f21 = [i for i in range(256)]
#
# _0xe50218 = 0
#
# for _0xe91751 in range(0x100):
#     _0xe50218 = (_0xe50218 + _0x998f21[_0xe91751] + ord('&f2F'[_0xe91751 % len('&f2F')])) % 0x100
#     _0x5460c2 = _0x998f21[_0xe91751]
#     _0x998f21[_0xe91751] = _0x998f21[_0xe50218]
#     _0x998f21[_0xe50218] = _0x5460c2
#
# _0xe91751 = 0x0
# _0xe50218 = 0x0
# _0x411bcc = ''
# for _0xd4adc1 in range(len(_0x2bb54a)):
#     _0xe91751 = (_0xe91751 + 0x1) % 0x100
#     _0xe50218 = (_0xe50218 + _0x998f21[_0xe91751]) % 0x100
#     _0x5460c2 = _0x998f21[_0xe91751]
#     _0x998f21[_0xe91751] = _0x998f21[_0xe50218]
#     _0x998f21[_0xe50218] = _0x5460c2
#     _0x411bcc += chr(ord(_0x2bb54a[_0xd4adc1]) ^ _0x998f21[(_0x998f21[_0xe91751] + _0x998f21[_0xe50218]) % 0x100])
#
# print(_0x411bcc)

直接改原文鏈接就可以抓不同章節了,前面說的生成鏈接也補齊了。

結果:

就醬,算結束了。 

發佈了69 篇原創文章 · 獲贊 33 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章