Python网络爬虫实战案例

知识学习
0 747
小师傅 小师傅2019-06-17
VIP1 积分:2397

1、网络爬虫基本流程:

1.1、发起请求:client通过HTTP库向目标站点发起请求Request等待服务器响应。

1.2、获取响应内容:server响应Response的内容就是页面的内容,类型有HTML,Json,二进制等。

1.3、解析内容:HTML可用正则表达式、网页解析库解析。Json可用直接转化为json对象解析。二进制数据,可用进一步保存或者处理。

1.4、保存数据:结构化的存储,可用保存为文本,保存至数据库,或者保存为特定格式的文件。

2、Reques与Response:

2.1、Request:1、请求方式:主要有GET、POST两种类型,还有HEAD、PUT、DELETE、OPTIONS等。2、请求URL:URL即就是统一资源定位符,网页、图片、视频等可用URL唯一确定。3、请求头:包含请求时的头部信息,如User-Agent、Host、Cookies等信息。4、请求体:请求时额外携带的数据,如表单提交时的表单数据。

2.2、Response:1、响应状态:响应状态,如200表示成功,301表示跳转,404表示找不到页面,502服务器错误。2、响应头:如内容类型,内容长度,服务器信息,设置Cookie等等。3、响应体:最主要的部分,包含了请求的资源内容,如HTML、图片视频、二进制数据等。

3、爬虫能抓取的数据:

3.1、网页文本:HTML文档、Json格式文本等。

3.2、图片:获取到的是二进制文件,保存为图片格式。

3.3、视频:也是二进制文件,保存为视频格式即可。

3.4、其他:只要是能够请求到的数据,都能获取到信息。

4、解析方式:

4.1、直接处理:适合网页简单的。

4.2、Json解析:适合网页是Json字符串的。

4.3、正则表达式:适合对HTML解析。

4.4、库解析:BeautifulSoup库、PyQuery库、XPath库等等。

5、请求的结果与浏览器看到的结果不一样:

5.1、原因:浏览器的渲染效果。JavaScript与后台的交互数据。

5.2、怎样解决JavaScript渲染问题:分析Ajax请求(Json字符串)。Selenium/WebDriver解决(pip可以安装)。Splash解决(在GitHub中可以搜索安装)。PyV8、Ghost.py。

6、怎样保持数据:

6.1、文本:纯文本,Json,Xml等。

6.2、关系型数据库:如MySQL、Oracle、SQLServer等有结构化表结构化形式存储。

6.3、非关系型数据库:如MongoDB、Redis等Key-Value形式存储。

6.4、二进制文件:如图片、视频、音频等直接保存为特定格式。

TIM截图20190617152611.png

TIM截图20190617152630.png


想要学习的朋友,请自行下载

精选帖子
Android 可可影视 v3.3.6无广告纯净版 1932
Android QQ音乐 v11.3.7 定制版解锁免费听歌无广告版 2382
Android 草图大师SKP v1.5 解锁会员版 7821
Android OmoFun追漫神器 v4.2.1 无广告绿色版 4824
AdobeGenP Adobe全家桶系列激活工具 v3.5.0/3.4.14.1 绿色版 5400
Android 七猫免费听书 v1.4 解锁高级版 3845
超良心的抢票神器——Bypass1.16 3442
Android 玲珑加速器 v6.10.9.40 解锁无限时间 2245
Android 大师兄影视 v3.3.8 去广告会员版 1349
热门帖子
全网独家淘宝闪购采集挂机项目 单窗口轻松日入40+ 69
三天AI智能体创业营,全程没虚的,全是拿来就能用的招,老板们想省劲搞增长,这课直接对标结果 64
如何利用Sora 2创建流行AI人工智能视频大师班教程:掌握创作全流程,产出百万播放内容 63
百度智能体网盘拉新项目,轻松躺赚收益(手把手教程) 60
AI自动写小说,一键生成120万字,普通人每月也能躺赚2w+ 52
2026最新头条玩法,用AI撸头条,3天必起号,3分钟1条,只需要复制粘贴,简单月入3W+ 49
B站音乐 哔哔音乐 开源免费音乐软件APP bilibili第三方免费音乐在线听和下载 45
短视频系统提升课,从构图到运镜、从理论到实战,全面掌握拍摄,提升个人与商业价值 45
酷我音乐解锁SVIP会员破解版 去广告去更新 最新版免费听付费音乐 v12.0.6.0 33