nodejs抓取动态网页(先要搞懂对应的,访问url地址的背后的逻辑:需要你提供哪些内容)
优采云 发布时间: 2022-01-19 12:15nodejs抓取动态网页(先要搞懂对应的,访问url地址的背后的逻辑:需要你提供哪些内容)
首先,我们要了解访问url地址背后的相应逻辑:
您需要什么:
网址
标题:一些可选的,一些必需的
饼干(可选)
发布数据
只有当它是POST方法时才需要
然后得到什么样的内容:
HTML源代码(或其他,json字符串,图片数据等)
cookie(可能):后续访问其他url,可能需要提供这里返回的(新的)cookie
暗示:
1.html 的字符集编码
关于html网页编码的背景知识,最好看看:
HTML网页源码的字符编码(charset)格式(GB2312、GBK、UTF-8、ISO8859-1等)说明
了解您正在处理的网页执行的逻辑过程
简单来说就是你需要提供某个你要处理的url地址,需要提供哪些值,然后你就可以得到你需要的值了。
先了解自己关心的逻辑,才能用代码谈后续实现。
如果这个逻辑过程很简单,那么就不需要工具来分析了,自己看代码,自己分析就可以了。
但是这个过程往往非常复杂,所以一般需要使用相应的开发者工具来分析。
比如用IE9的F12捕捉对应的执行过程,然后分析一些你需要关心的网页的执行逻辑。
暗示:
1.其他各种分析工具
如果不熟悉IE9的F12等,可以先去看看:
浏览器中的开发者工具(IE9 中的 F12 和 Chrome 中的 Ctrl+Shift+I)——强大的网页分析工具
对于这部分内容,还有一个帖子供参考:
各种浏览器中的开发人员工具:IE9 的 F12、Chrome 的 Ctrl+Shift+J、Firefox 的 Firebug
2. 复杂参数值分析
在用工具分析的过程中,你会发现有些要分析的值比较复杂,无法直接获取,需要调试分析。
关于如何分析复杂的参数值是如何得到的,
登录过程中如何使用IE9的F12解析网站复杂的(参数、cookies等)值 (来源)
3.另一个例子
后来我写了一个例子来分析如何从songtaste的播放页面地址中找到歌曲的真实地址:
如何用IE9的F12抓取一首Songtaste歌曲的真实地址
使用一种语言来实现上述逻辑
了解了所有需要处理的逻辑流程和执行顺序后,就可以用某种语言实现相应的逻辑流程了。
暗示:
但是,在代码中实现相应的逻辑有一些通用的逻辑:
1. url地址的编码和解码
其中,如果涉及到url地址的解码和编码,