使用Chrome、Firefox等浏览器的开发者工具采集信息
 微wx笑
微wx笑 2022-07-27【前端开发】
 2022-07-27【前端开发】 137
137 5
 5 0关键字:
信息采集  开发者工具  Chrome  Firefox
 0关键字:
信息采集  开发者工具  Chrome  Firefox  
有些内容是需要登录才可以查看的,后台处理登录逻辑比较麻烦;有些网站的实际内容是通过JS加载的,通过后台抓取的话根本抓取不到内容;还有的是通过JS+Canvas展示的内容,更是无法复制和下载,有没有比较好的办法呢?
有些内容是需要登录才可以查看的,后台处理登录逻辑比较麻烦;有些网站的实际内容是通过JS加载的,通过后台抓取的话根本抓取不到内容;还有的是通过JS+Canvas展示的内容,更是无法复制和下载,有没有比较好的办法呢?
有一种方法是:使用Chrome、Firefox等浏览器的开发者工具采集信息
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | // https://www.doc88.com/p-845684108744.htmlvar page = document.getElementsByClassName("inner_page");var idx = 0;var bookname = "xxx绝密教程总结";var token = 'token';function upbook(){    var data = new FormData();    data.append('token', token);    data.append('name', bookname);    data.append('page', idx+1);    data.append('imgdata', page[idx].toDataURL("image/png").substr(22));    var xhr = new XMLHttpRequest();    xhr.open('POST', 'https://czsc.ivu4e.com/doc88/savebook.php', true);    xhr.responseType = 'text';    xhr.onload = function () {     if (this.status == 200) {       console.log(this.response);       idx += 1;       setTimeout(function (){          upbook();       }, 1000);     }else{        console.log(this.status);     }    };    xhr.send(data);};upbook(); | 
这需要有自己的网站后台程序来配合
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <?// http://www.doc88.com/p-1116070150325.htmlheader("Access-Control-Allow-Origin: *");// http://www.doc88.comheader('Access-Control-Allow-Methods:*');header('Access-Control-Allow-Headers:*');$token = "token";if(empty($_POST['token'])){  die('permission denied ...'); }if($token !== $_POST['token']){  die('permission denied ......'); }//echo time();$bookName = "";$filename = "";if (isset($_POST['name'])){   $bookName = $_POST['name'];}if (empty($bookName)){   die("图书名称‘name’不能为空"); }$page = 1;if (isset($_POST['page'])){   $page = intval($_POST['page']);}if (empty($page)){   die("图书页码‘page’不能为空"); }if ($page < 10){  $filename = "0" . $page;}else{  $filename = $page; }$dirname = "bookdir";$filepath = $dirname . "/" . $bookName . "_" . $filename . ".png";//创建目录失败if (!file_exists($dirname) && !mkdir($dirname, 0777, true)) {  die("ERROR_CREATE_DIR");  return;} else if (!is_writeable($dirname)) {  die("ERROR_DIR_NOT_WRITEABLE");  return;}if (isset($_POST['imgdata'])){  $base64Data = $_POST['imgdata'];  $img = base64_decode($base64Data);  //移动文件  if (!(file_put_contents($filepath, $img) && file_exists($filepath))) { //移动失败    die("ERROR_WRITE_CONTENT");  } else { //移动成功    echo "https://czsc.ivu4e.com/doc88/" . $filepath;  }}?> | 
在采集doc88的文档的时候,需要先把文档所有页面内容都查看一下,再快速回到顶部执行,
执行的同时滚动滚动条向下显示将要采集的页面
这里存在一个问题就是:如果内存不够用的话,有些页面可能会被浏览器清理了,这样在没有显示出来的情况,可能采集到的内容是空的。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0  许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/front/2022-07-27/1327.html








