隐藏页面特效

爬取百度页面代码写入到文件+web请求过程解析

一、爬取百度页面代码写入到文件

代码示例:

1
2
3
4
5
6
7
8
9
<code-pre class="code-pre" id="pre-rPnFxG"><code-line class="line-numbers-rows"></code-line>from urllib.request import urlopen    #导入urlopen包
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>url="http://www.baidu.com"            #需要爬取网页的网址
<code-line class="line-numbers-rows"></code-line>resp=urlopen(url)
<code-line class="line-numbers-rows"></code-line>with open("mybaidu.html",mode="w",encoding="utf-8") as f:    #encoding="utf-8"防乱码
<code-line class="line-numbers-rows"></code-line>    f.write(resp.read().decode())#将爬取到的代码写入到文件中,decode()用于解码,防止中文乱码
<code-line class="line-numbers-rows"></code-line>    print("爬取完成!")
<code-line class="line-numbers-rows"></code-line>
</code-pre>

 

二、 web请求过程解析

1.服务器渲染:在服务器直接将数据和html整合在一起,特点为在html源代码中可以看到数据。
例:在百度中搜索“李白”,得到的页面及解析如下:

 

 

 

 很明显在html源代码中可以看到数据。


2.客户端渲染:客户端发送两次请求,第一次请求得到html代码,第二次得到数据,在客户端中将二者整合呈现给用户。
特点:在html源代码中无法看到数据
例:查看豆瓣分类排行榜页面,其预览中并没有展示数据,由此可见其源代码中没有数据。

 

 在下面的请求中可以看到数据:

 

 

 

__EOF__

本文作者CherriesOvO
本文链接https://www.cnblogs.com/zyj3955/p/15012457.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   CherriesOvO  阅读(373)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2020-07-14 学习Java的第九天
点击右上角即可分享
微信分享提示