爬取新浪微博热搜排行
1.1 爬虫基本原理解析
- 什么是爬虫
- 通过编写程序模拟浏览器上网 在互联网抓取数据的过程
- 分类
- 通用爬虫
- 搜索引擎用的爬虫系统
- 尽可能把互联网的所有网页下载 放到本地服务器形成备份 在对这些网页做相关处理 (提取关键字 去掉广告) 每隔一段时间重新获取
- 举例
- 百度搜索博为峰 --百度快照–访问的是百度服务器的缓存数据 –
- 好处 – 如果网页被封掉了 百度快照 – 服务器 有可能会有备份(不能爬图片 只能是文本 /文字相关的 )
- 聚焦爬虫
- 爬虫程序员写的针对某种内容爬虫 面向需求
- (这节课的新浪微博就是聚焦爬虫)
- 通用爬虫
- 爬虫价值
- 获取数据
- 对于软件测试来讲
- 获取有效数据 为测试提供便捷 (排行–获取数据–和数据库数据进行对比 )
- 提高编程技能
- 如何爬虫
- 模拟浏览器发送请求
- 对数据进行解析
1.2 网页源码获取及转换
-
环境配置 类库安装
- python
- pip install requests
-
对获取数据进行解析
-
etree
-
pip install lxml
-
lxml
- 是一个python 的第三方模块 主要功能是如何解析和提取 HTML/xml
- 可以结合xpath语法 进行快速定位特定元素以及节点信息
-
请求技术点
- 如何发送请求
- 获取响应数据(文本)
- 伪造请求头
- 将响应文本信息转化成xpath结构
from lxml import etree import requests # 伪装请求头 headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"} res = requests.get("https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6"
-