擦,刚打了一大段文字不行,只能重新写一遍。
我破解出来这个顺序了。首先你需要找到head标签中的第五个meta标签(从0开始数)<meta name="client" content="NzBUJTY0USUxNkYlNTVLJTUwRCU1OEglMzBQJTIwTyU1M1olNTFHJTI2RCU3MkQlMjdTJTQ1WiUxM0UlMlklMzdaJTE1TiUyME4lMEIlN0IlNTREJTU4SSU2N0YlNTZVJTQ5QiU3MUElMUQlMjRNJTUxUSU2MlklMTNEJTY0TyUxMkclNDFPJTlYJTM3UyU0OVUlMTVQJTM1QyUyNUslM1YlMzNCJTc1UCUyOVElNEIlNzJaJTM4QiUzM00lNDhCJTQ0SSU3MVklNDZNJTY4UiU3M0ElMjNVJTQwQiU0NU4lMjBUJTI5VyU2N1MlMzZKJTY1VCU1NFMlMjhaJTE2VyU2MlklMTJDJTc4UyUyMlAlMTNCJTQ3RSU0MlUlNDk=" />
把content的内容进行转码,我这里用python和javascript都演示一遍吧。
python解码:import base64
import re
def decode_base64(data):
missing_padding = 4 - len(data) % 4
if missing_padding:
data += b'='* missing_padding
return base64.decodestring(data)
def main():
a = b'NzBUJTY0USUxNkYlNTVLJTUwRCU1OEglMzBQJTIwTyU1M1olNTFHJTI2RCU3MkQlMjdTJTQ1WiUxM0UlMlklMzdaJTE1TiUyME4lMEIlN0IlNTREJTU4SSU2N0YlNTZVJTQ5QiU3MUElMUQlMjRNJTUxUSU2MlklMTNEJTY0TyUxMkclNDFPJTlYJTM3UyU0OVUlMTVQJTM1QyUyNUslM1YlMzNCJTc1UCUyOVElNEIlNzJaJTM4QiUzM00lNDhCJTQ0SSU3MVklNDZNJTY4UiU3M0ElMjNVJTQwQiU0NU4lMjBUJTI5VyU2N1MlMzZKJTY1VCU1NFMlMjhaJTE2VyU2MlklMTJDJTc4UyUyMlAlMTNCJTQ3RSU0MlUlNDk'
dd = str(decode_base64(a))
req = re.findall(r"\d+\.?\d*",dd)
print(req)
if __name__ == '__main__':
main()
js解码var book = 'NzBUJTY0USUxNkYlNTVLJTUwRCU1OEglMzBQJTIwTyU1M1olNTFHJTI2RCU3MkQlMjdTJTQ1WiUxM0UlMlklMzdaJTE1TiUyME4lMEIlN0IlNTREJTU4SSU2N0YlNTZVJTQ5QiU3MUElMUQlMjRNJTUxUSU2MlklMTNEJTY0TyUxMkclNDFPJTlYJTM3UyU0OVUlMTVQJTM1QyUyNUslM1YlMzNCJTc1UCUyOVElNEIlNzJaJTM4QiUzM00lNDhCJTQ0SSU3MVklNDZNJTY4UiU3M0ElMjNVJTQwQiU0NU4lMjBUJTI5VyU2N1MlMzZKJTY1VCU1NFMlMjhaJTE2VyU2MlklMTJDJTc4UyUyMlAlMTNCJTQ3RSU0MlUlNDk=';
var a = Buffer.from(book, 'base64').toString('utf-8').split(/[A-Z]+%/);
console.log(a);
解析出来的列表就是你的要爬取小说的顺序。
我把网页源代码下载下来测试是正确的。
剩下的工作就就是用正则把小说正文的内容按照得到的顺序排序就好了。
不过建议你还是换一个网站爬取吧。
这个网站真的很麻烦。 |