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

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

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

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

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


34m无知

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

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.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无知

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.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

很赞哦! (28) 有话说 (0)

文章评论