1.爬虫的定义
爬虫是一种抓取网页信息的工具
2.爬虫的三大基本功能:
1.http请求:用于根据url获取网页源码
2.网页解析 : 对获取到的网页源码进行解析,提取出符合需要的url链接和网页内容
3.持久化:对提取到的网页内容进行存储(数据库,文件,建立索引等)
3.爬虫的分类及其工作流程
1.单机爬虫
2.分布式爬虫
4.爬虫常见问题及解决方案:
常见问题:
1.网页爬取频率过快会被限制爬取
2.部分页面重定向导致无法直接获得网页源码
3.Ip被加入黑名单
4.获取网页源码出现乱码
5.部分页面由js生成无法直接获得源码
6.控制爬取的深度
7.部分页面需要登录才能获取源码
8.爬取的性能瓶颈在于下载网页源码
对应解决方案:
1.在程序中动态调整爬取速率(线程休眠)
2.根据http头部信息获取重定向页面再次请求
3.切换代理ip
4.根据http头部字段判断网页编码
5.采用三方插件模拟浏览器引擎动态加载
6.为每个url添加一个depth属性,解析到设计的爬取深度时停止爬取
7.利用cookie模拟登录
8.利用多线程爬取,或者考虑分布式爬取