学习内容:
1. Network
能够记录浏览器的所有请求。
我们最常用的是:ALL(查看全部);XHR(仅查看XHR);Doc(Document,第0个请求一般在这里);Img(仅查看图片);Media(仅查看媒体文件);Other(其他)。其中,JS和CSS,则是前端代码,负责发起请求和页面实现;Font是文字的字体;而理解WS和Manifest,需要网络编程的知识,后面进一步了解。
2. 调用“检查”(
ctrl+
shift+i
)工具,在左上方 ‘放大镜’ 处,可以查找相关你要了解的内容。
https://res.pandateacher.com/crawler-l3-8-201914.pnghttps://res.pandateacher.com/crawler-l3-8-201914.png3,上方链接,是Network的一般功能。重点了解XHR:
我们平时使用浏览器上网的时候,经常有这样的情况:浏览器上方,它所访问的网址没变,但是网页里却新加了内容。比如购物网站,下滑自动加载出更多商品。在线翻译网站,输入中文实时变英文。比如,你正在使用的教学系统,每点击一次Enter就有新的内容弹出。
这个技术做Ajax技术(技术本身和爬虫关系不大,在此不做展开,你可以通过搜索了解)。应用这种技术,好处是显而易见的——更新网页内容,而不用重新加载整个网页。又省流量又省时间的,何乐而不为。
如今,比较新潮的网站都在使用这种技术来实现数据传输。只剩下一些特别老,或是特别轻量的网站,还在用老办法——加载新的内容,必须要跳转一个新网址。
这种技术在工作的时候,会创建一个XHR
(或是Fetch)对象,然后利用XHR
对象来实现,服务器和浏览器之间传输数据。在这里,XHR
和Fetch
并没有本质区别,只是Fetch
出现得比XHR
更晚一些,所以对一些开发人员来说会更好用,但作用都是一样的。
4.XHR中文件:
窗口中,我右上方框里标号的内容,从左往右分别是:Headers
:标头(请求信息)、Preview
:预览、Response
:响应、Cookies
:Cookies、Timing
:时间。还有‘json’
是一种数据交换的语法。对我们来说,它只是一种规范数据传输的格式,形式有点像字典和列表的结合体。
5.在初学者的爬取数据过程中,json 的使用并不常用。具体可以看官方链接(这个链接是英文的,官方教程)
json — JSON encoder and decoder — Python 3.10.5 documentation