悠闲数学娱乐论坛(第2版)'s Archiver

hbghlyj 发表于 2020-1-31 23:48

下载免费电子书的网站

[i=s] 本帖最后由 hbghlyj 于 2021-6-5 02:09 编辑 [/i]

国际
[url=https://b-ok.cc/]zlibrary[/url]这里甚至可以找到中文书.限制是10/day
[url=https://www.twirpx.com/files/science/mathematics/geometry/]www.twirpx.com[/url]这里是"几何"标签下的电子书,有856个项目
[url=http://gen.lib.rus.ec/]genlib[/url]一个综合性搜索引擎
[url=https://the-eye.eu/public/Books/campdivision.com/PDF/Mathematics/]the-eye[/url]
[url=https://www.perlego.com/]perlego[/url]
[url=https://www.worldcat.org/]worldcat[/url]
[url=https://www.goodreads.com/]goodreads[/url]
[url=https://www.abebooks.com/]abebooks[/url]
国内
[url=http://book.ixueshu.com/]爱图书[/url]限制是2/day
[url=http://www.bzfxw.com/]学兔兔[/url]限制是2/day
[url=https://www.xiaoso.net/]小不点搜索[/url]
[url=https://www.baidu.com/link?url=85TVD0i39874yFgGIk1qzJeyE3FotjwuyxZBAHTr50ZeFsJsR6xxGM3eegpB4k4E&wd=&eqid=ae5ded9900041666000000025e687017]万千合集站[/url]
道客巴巴
[url=https://einverne.github.io/post/2018/02/free-online-books.html]free-online-books.html[/url]

hbghlyj 发表于 2021-6-5 01:20

以上都弱爆了
[url=http://zh.chaoxing.com/17/]http://zh.chaoxing.com/17/[/url]
帐号:beihai
密码:123456

hbghlyj 发表于 2021-6-5 01:34

[url]https://ppwwyyxx.com/blog/2012/Download-Books-on-Duxiu/[/url]

hbghlyj 发表于 2021-6-5 07:01

用MMA来下载超星汇雅电子书的方法
**** Hidden Message *****

hbghlyj 发表于 2021-6-5 22:10

[i=s] 本帖最后由 hbghlyj 于 2021-6-6 16:44 编辑 [/i]

完整代码如下


ClearAll[j]; list =
StringJoin[ToString /@ #] & /@
  Table[PadLeft[IntegerDigits[j], 6], {j, 1000}];
in1 = InputString["要保存在哪里?输入文件夹路径"];
If[! in1 === "",
  Quiet[file[j_] = FileNameJoin[{in1, list[[j]] <> ".png"}]]];
in2 = Input["输入要下载的第一页页码"];
If[! in2 === Null, i = in2];
in3 = Input["输入要下载的最后一页页码"]; If[! in3 === Null, end = in3];
in4 = InputString["输入任一页的图片url,两端不要加引号,程序会自动去除url在最后一个/之后的内容"];
If[! in4 === "", url = StringDrop[in4, -13]];
For[i = i, i != end + 1, i++,
URLDownload[url <> list[[i]] <> "?zoom=2", file[i]];
If[MemberQ[{12452, 17663}, FileByteCount[file[i]]],
  EmitSound[Sound[SoundNote[]]];
  u = ChoiceDialog[
    "我在下载第" <> ToString[i] <>
     "页时出错了.请刷新网页重新复制图片链接!如果还是不行的话,请查看网页上的对应页,因为有可能" <> ToString[i] <>
      "页本来就不在数据库中.", {"链接失效了" ->
      ToString[url = StringDrop[Input["填写新的url"], -13];] <> "i--",
     "跳过这一页" -> ToString[Print["已跳过第" <> ToString[i] <> "页"]]}];
  ToExpression[u]];
If[! (FileFormat[file[i]] === "PNG"), EmitSound[Sound[SoundNote[]]];
  SystemOpen[url <> list[[i]] <> "?zoom=2"];
  u = ChoiceDialog[
    "我在下载第" <> ToString[i] <>
     "页时被判定为爬虫了.请在自动打开的网页上填写验证码!填写完成后关闭该网页即可.如果自动打开的网页上没有验证码的话,\
在下方按退出内核.然后你要重新运行我,所有参数都需要重新输入!", {"已填写验证码" -> "i--",
     "退出内核" -> "Quit[]"}]; ToExpression[u]]]; EmitSound[
Sound[{SoundNote["C4"], SoundNote["G"], SoundNote["C"]}]];


更新说明
①在被判定为爬虫或者过了很长时间,链接失效后终止程序,并播放提示音.如果被判定为爬虫,网页会显示操作异常,这时不要慌,在自动打开的网页(系统默认浏览器)上人工输入验证码即可解锁(这是因为我不知道如何用机器破验证码,$\color{brown}{这个有待改进}$).这个程序设计的是速战速决型,所以没有设计延时,一直是全速下载的,缺点是不时地需要人工输入一下验证码...出错后按窗口提示操作即可.
②使用时不用改程序代码中的参数,运行时会弹出提示框,按提示输入要保存到的路径和url和起止页码即可.url是在"网页阅读"界面的任一页(可以是正文页/目录页/书名页/封底页....)上右击"复制图片地址"得到的,示例(已失效链接):
http://ffhg1aaaab6c51d04b47b462edc80b707083hpk6pbn0nvv5k6ucw.fgzi.res.gxlib.org.cn/n/249c1a6140c42be3493e7aa5fb19ef27MC299040079872/img1/3E7FB4E1D03807AA472CFBE1BD91BC2F5EEEF8217CD4B3DD38DAA4EED70FFDB146585510A52B5B3724672394D2D5055CD78FEDDC73021962D870518179CE4F3A98912990FF32C6171260606A0CBF0E4EC2F270E4A468E8347B1A080173E36110B863C87E822B3D689107D74A5C16D96231DA/nf1/qw/10100955/37C64744517C40C0868CC94F3E024CC6/$\color{red}{\text{000002?zoom=0}}$
程序会自动把红色部分去掉,所以请不要作任何改动,也不要加引号
③第一次运行时必须填写所有参数,否则会报错.
在已经运行过一次或几次的情况下,如果某个参数和之前一样,则不需要输入,自动按上一次的参数来处理.例如:一本书,我要下载第15-16和89-90页,则在第二次运行时,"保存路径"和"url"都可以不填,只填新的起止页码.再举一例,我下载从100页到200页,正常地下载完了,然后我还要继续下载到300页,那么我需要重新运行程序,只需填写末尾页300,其它的参数都按确定.
④目前只能下载正文.所填的页码应均为正文页码,也就是没有第0页,最小是从第1页开始.如果要下载目录页或封皮页只能手动一个个另存为图片了($\color{brown}{这个有待改进}$...)
⑤默认下载的都是最高清晰度,但这样文件比较大,如果要修改的话,把URLDownload里面的zoom=2改为zoom=1或zoom=0即可.清晰度是递减的.

hbghlyj 发表于 2021-6-6 15:15

运行了30多次,把错误都修复了

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.