浏览网页的请求是经过DNS服务器解析后的请求,我们也可以直接请求服务器,就是通过ip可以直接请求服务器
cookies是保存一些用户的个人信息,或者对方服务器希望保存在客户端的信息,cookies中只关注name和value的值,其他值都可以不用管。
cookies 是有上限的,seesino 是保存在对方服务器的,只要对方服务器有空间想搞多大都可以。
cookies 和seesion的区别: cookies是保存在浏览器本地的,容易被获取或者修改,但是seesion是保存在对方的服务器的,不容易被获取或修改,相对来说是比较安全。
DNS服务器解析(就是把ip地址解析成域名,这样就容易记) 想请求那个网站的就直接在浏览器里面输入域名就可以了,而不用输入ip地址,域名就是ip地址的映射。一个 IP 可以绑定多个域名,一个域名也可以绑定多个IP(这个是负载均衡实现,一个域名对应多个IP地址)。
浏览器请求的网址和爬虫中发送请求得到的数据是不一样的,浏览器会把请求的地址中的js,css ,img图片那些都会请求出来
爬虫你发送一个网址他只会请求那个网址的数据,而不会像浏览器一样把js css 等这些也请求渲染出来,有一些数据是直接通过ajax再次请求渲染的,他可能就是一个API,你要在源码里面找他。然后再在爬虫里请求他,
(以谷歌浏览器为例)浏览器里检查中的Elements 中得到的内容是页面的内容,是浏览器渲染后的内容,和Network 中的请求
链接的Response的内容是不一样的,Response 中是爬虫请求那个链接得到的内容,所以想看爬虫请求一个url会得到什么内容直接去看Network 中对应链接的Response得到的内容才是爬虫请求得到的内容,而不是Elements中的内容。Elements 中的内容是浏览器渲染后的内容(一个url在浏览器里请求,浏览器会自动帮他加载很多请求,如js css img等,然后再渲染出来),但是爬虫中Requests的请求只会请求你发送给他的url请求,不会主动去请求这个url中可能存在的js css img 。
Elements 会把js 执行,js 执行会把页面上的文本什么的进行调整
爬虫要根据当前url地址对应Response为准。当前url地址的Elements的内容和url的Response(响应)不一样。
当前页面的数据在哪里?(1 2 3 是解析)
1 .当url地址对应的响应中(只能是一部分)
2.其他url对应的响应中(大部分)(比如ajax请求中)
3. js 生成的 (如url那些看不懂的请求参数,那些参数有些是需要的,有些是不需要的),(有些是部分数据在响应中,或者全部通过js生成)