3 静态网页爬取
3.1 介绍
静态网页
在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,它的文件扩展名是.htm、.html,可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX控件及JAVA小程序等。
静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。
爬虫的基本流程
1、发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。
2、获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。
3、解析内容:得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以直接转为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。
4、保存数据:保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件。
3.2 使用urllib3库实现爬取
1.生成请求
通过request方法即可创建一个请求,该方法返回一个HTTP响应对象。Reques语法格式如下。
urllib3.request(method,url,fields=None,headers=None,**urlopen_kw)
生成请求
import urllib3
http = urllib3.PoolManager()
rq = http.request('GET', url='http://www.baidu.com')
查看状态信息
print('服务器响应码:', rq.status)
print('响应实体:', rq.data)