好友
阅读权限10
听众
最后登录1970-1-1
|
yeyue
发表于 2020-10-15 15:52
带cookies访问, 比如:毛泽东选集https://book.duxiu.com/bookDetail.jsp?dxNumber=000005680871&d=B778E2AE5D9FBBF88BCBC2D17CC98FC6
用xpath 或者 正则 或者 bs 取出"部分阅读"的网址 https://book.duxiu.com/readDetail.jsp?dxNumber=000005680871&d=B69FE735426FBA5B0EC0015F5B67C80F×tr=1602746818229, 然后get
正则取出 var pages = [[1,0],[1,1],[1,1],[1,0], [1,16], [1, 21], [1, 0], [2, 0]]; //按顺序 依次是 封面, 书名, 版权, 前言, 目录, 正文, 附录, 封底 的页数, 在pagetypeutil.js里有写, 比如这里目录有16页, 正文有21页
在pagetypeutil.js里还有个东西需要:
var PAGETYPEINFO = [
{v:PAGETYPE.cov, s:'cov', n:'封面'}, /* 封面cov001 */
{v:PAGETYPE.bok, s:'bok', n:'书名'}, /* 书名 */
{v:PAGETYPE.leg, s:'leg', n:'版权'}, /* 版权 */
{v:PAGETYPE.fow, s:'fow', n:'前言'}, /* 前言 */
{v:PAGETYPE.dir, s:'!' , n:'目录'}, /* 目录 */
{v:PAGETYPE.cnt, s:'' , n:'正文'}, /* 正文 */
{v:PAGETYPE.att, s:'att', n:'附录'}, /* 附录 */
//{v:PAGETYPE.bac, s:'bac', n:'封底'} /* 封底 */
{v:PAGETYPE.bac, s:'cov', n:'封底'} /* 封底cov002 */
];
正则取出:
jpgPath:"/n/48c8b25ad70e48c631247b40dcc9567eMC278885484159/img0/F7E306DEE67422E47DC724138D60CC566E1E4C93A89734B337537F6E22BC0FCB13D9B5C8FBE778DF71D26AF2C6A648FA4750A2DC91F2E56475270ED7537CB8119DA192579E9F009AEC407AA8D5C3207C8313C4A9D95E1A5CA1E9BA6FE67FB429BE181A0C22E1A7BA9A1EF3018A0AE8FD497A/bf1/jpgfs/11335510/F945680A66B446D99FCB7644F446FADC/"
开始构建网址, 比如你需要下载目录第5页, 上面 {v:PAGETYPE.dir, s:'!' , n:'目录'}, /* 目录 */ 这里看出目录前缀是 "!" 总位数6位 这里就是"!00005"
http://img.duxiu.com/+jpgPath+!00005?zoom=0
然后head请求, 在response header 里 找到
Location:
http://bpng1.5read.com/image/ss2jpg.dll?did=bf1&pid=F7E306DEE67422E47DC724138D60CC566E1E4C93A89734B337537F6E22BC0FCB13D9B5C8FBE778DF71D26AF2C6A648FA4750A2DC91F2E56475270ED7537CB8119DA192579E9F009AEC407AA8D5C3207C8313C4A9D95E1A5CA1E9BA6FE67FB429BE181A0C22E1A7BA9A1EF3018A0AE8FD497AF945680A66B446D99FCB7644F446FADC&jid=/!00005.jpg&a=DE9E890BFC1A9603EBE7474DB48748B0520B221F2EB2AB23EDF16164DA3139981EBF0B0456E45FF2955DBB8C177C605DFB091B8EFDD9DBA6AE0536B192ED74D0A9D5&zoom=0&f=0
之后 下载 就行了 我就不演示了, 这个就是流程了
|
免费评分
-
查看全部评分
|