前端开发您现在的位置是:首页 > 博客日志 > 前端开发

使用Chrome、Firefox等浏览器的开发者工具采集信息

<a href='mailto:'>微wx笑</a>的头像微wx笑 2022-07-27前端开发 5 0关键字: 信息采集  开发者工具  Chrome  Firefox  

有些内容是需要登录才可以查看的,后台处理登录逻辑比较麻烦;有些网站的实际内容是通过JS加载的,通过后台抓取的话根本抓取不到内容;还有的是通过JS+Canvas展示的内容,更是无法复制和下载,有没有比较好的办法呢?

有些内容是需要登录才可以查看的,后台处理登录逻辑比较麻烦;有些网站的实际内容是通过JS加载的,通过后台抓取的话根本抓取不到内容;还有的是通过JS+Canvas展示的内容,更是无法复制和下载,有没有比较好的办法呢?34m无知


34m无知

有一种方法是:使用Chrome、Firefox等浏览器的开发者工具采集信息34m无知

// https://www.doc88.com/p-845684108744.html
var 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();

这需要有自己的网站后台程序来配合34m无知

<?
// http://www.doc88.com/p-1116070150325.html
header("Access-Control-Allow-Origin: *");// http://www.doc88.com
header('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的文档的时候,需要先把文档所有页面内容都查看一下,再快速回到顶部执行,34m无知

执行的同时滚动滚动条向下显示将要采集的页面34m无知

这里存在一个问题就是:如果内存不够用的话,有些页面可能会被浏览器清理了,这样在没有显示出来的情况,可能采集到的内容是空的。34m无知


34m无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/front/2022-07-27/1327.html

很赞哦! () 有话说 ()