#Tips 接下来分享一下,如何通过MATLAB爬取动态网页。
两年前我写过一篇帖子,主题大概是MATLAB不适合爬动态网页,只怪当初年少无知,今天要啪啪打脸了
对于像知识星球这样的网页,直接右键查看源代码,是找不到任何你需要的网页信息的,这就是动态网页有别于静态网页的地方。
不过,当你在谷歌浏览器中使用F12按钮时,就能在Network中的XHR找到对应网页的Request URL
之后,在MATLAB就是常规操作了,通过webread去读取Request URL,就可以爬取所需的信息。
对于知识星球,稍有不同的是,需要cookie的模拟登陆,这一步并不难,在谷歌浏览器中“查看所有Cookie和网站数据“,通过搜索知识星球的关键词,是能够找到对应的Cookie的。
上述关于知识星球的爬虫,在网上能找到很多相关的帖子,不过都是通过Python实现的。
MATLAB处理的方式比较类似,使用weboptions去配置HeaderFields,然后通过webread去读取网页
option = weboptions('RequestMethod','auto','HeaderFields',{'User-Agent',User_Agent;'cookie',cookie;'Referer',Referer});
content = webread(url,option);
source: https://zhuanlan.zhihu.com/p/74577062
两年前我写过一篇帖子,主题大概是MATLAB不适合爬动态网页,只怪当初年少无知,今天要啪啪打脸了
对于像知识星球这样的网页,直接右键查看源代码,是找不到任何你需要的网页信息的,这就是动态网页有别于静态网页的地方。
不过,当你在谷歌浏览器中使用F12按钮时,就能在Network中的XHR找到对应网页的Request URL
之后,在MATLAB就是常规操作了,通过webread去读取Request URL,就可以爬取所需的信息。
对于知识星球,稍有不同的是,需要cookie的模拟登陆,这一步并不难,在谷歌浏览器中“查看所有Cookie和网站数据“,通过搜索知识星球的关键词,是能够找到对应的Cookie的。
上述关于知识星球的爬虫,在网上能找到很多相关的帖子,不过都是通过Python实现的。
MATLAB处理的方式比较类似,使用weboptions去配置HeaderFields,然后通过webread去读取网页
option = weboptions('RequestMethod','auto','HeaderFields',{'User-Agent',User_Agent;'cookie',cookie;'Referer',Referer});
content = webread(url,option);
source: https://zhuanlan.zhihu.com/p/74577062
知乎专栏
北科的朋友,就是优秀!
公众号里有一位朋友,给我留下非常深刻的印象,他是北京科技大学的学生。这位朋友关注我的公众号比较早,有两年多了,不过我真正认识他,还是在他加入知识星球之后。之所以说印象深刻,是因为这位朋友喜欢爬虫,什…
#Tips :sort函数还能给字符串数组(String Array)排序 https://mp.weixin.qq.com/s/_56ZBldjnp-uOa0i-KFknA