吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3802|回复: 9
收起左侧

[已解决] python爬虫:爬取某网页但抓取不到数据

[复制链接]
hj170520 发表于 2021-5-3 12:20
本帖最后由 hj170520 于 2021-5-3 14:39 编辑

网站地址:https://idiom.wlps.kl.edu.tw/

第一个问题:实际上,想抓数据的时候,通过F12抓包发现,根本抓不到数据。这是不是传说中的反爬机制?
截屏2021-05-03 下午12.15.16.png
一开始的界面是
截屏2021-05-03 下午12.18.17.png
第二个问题:但如果我在里面比如搜索“袞袞諸公
截屏2021-05-03 下午12.17.11.png
然后当我刷新这个网页或者重新输入https://idiom.wlps.kl.edu.tw/
界面仍然是
截屏2021-05-03 下午12.17.111.png
这个就引起我的一个怀疑,当我刷新这个界面的时候我没有给他们服务器发送封包,这是怎么做到储存我这个查询数据的呢?(难道是这个网站可以调用本地缓存?)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

uuling 发表于 2021-5-3 12:28
数据通过异步加载的,通过开发者调试工具可以看到  https://idiom.wlps.kl.edu.tw/idiom.json? 这个请求,这里面应该是你要的数据
glces 发表于 2021-5-3 12:33
这个网页的表格是一个叫  Datatables的前端组件, 数据是异步加载的, 你看抓包的其他链接就能看到异步返回的数据了
 楼主| hj170520 发表于 2021-5-3 12:33
uuling 发表于 2021-5-3 12:28
数据通过异步加载的,通过开发者调试工具可以看到  https://idiom.wlps.kl.edu.tw/idiom.json? 这个请求, ...

请问,您是怎么查看的!我没有找到!我太菜了

是这个地方吗? 截屏2021-05-03 下午12.33.08.png
 楼主| hj170520 发表于 2021-5-3 12:34
glces 发表于 2021-5-3 12:33
这个网页的表格是一个叫  Datatables的前端组件, 数据是异步加载的, 你看抓包的其他链接就能看到异步返回的 ...

嚯,长知识了。
 楼主| hj170520 发表于 2021-5-3 12:37
glces 发表于 2021-5-3 12:33
这个网页的表格是一个叫  Datatables的前端组件, 数据是异步加载的, 你看抓包的其他链接就能看到异步返回的 ...

但我试了一下,还是不会
看样子还要学好javascript才行。
fanvalen 发表于 2021-5-3 12:39
这忘站的内容是由js加载的,
下面代码可以看到请求json数据
[Asm] 纯文本查看 复制代码
function DisplayDataTable(dataSet) {
    $('#idiom').DataTable( {
        data: dataSet,
        "bStateSave": true,
        "fnStateSave": function (oSettings, oData) {
            localStorage.setItem( 'DataTables_'+window.location.pathname, JSON.stringify(oData) );
        },
        "fnStateLoad": function (oSettings) {
            return JSON.parse( localStorage.getItem('DataTables_'+window.location.pathname) );
        }

    } );
}

$(document).ready(function() {
	getCache('/idiom.json?1585807132').then(function (data) {
  		DisplayDataTable(data);
  		$(".spinner").hide();
	});
    $('#idiom').on('click', 'tbody tr', function() {
    	var id = $(this).children('td:first').text();
    	var baseURI = "/";
    	window.location = baseURI+id;
	    return false;
    });
} );
</script>


getCache('/idiom.json?1585807132').then(function (data) 这就是请求连接 f12应该能找到
aonima 发表于 2021-5-3 12:39
异步数据加载
 楼主| hj170520 发表于 2021-5-3 12:45
fanvalen 发表于 2021-5-3 12:39
这忘站的内容是由js加载的,
下面代码可以看到请求json数据
[mw_shl_code=asm,true]function DisplayData ...

明白了!这下子看懂了从哪里来了。
我还没学过javascript,看得心烦!
大佬们能立马定位到,太强了
呱呱生 发表于 2021-5-3 14:31
大牛,学习py要多久
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表