1.爬虫核心:
爬去网页
解析数据
难点:爬虫与反爬虫的博弈
2.爬虫分类:
通用爬虫:
实例:谷歌,百度,搜狗
功能:访问网页-抓取数据-数据存储-数据处理-提供检索服务
抓取过程:
给定一些起始URL,放入待爬取队列
从队列中获取url对象,开始爬取数据
分析网页,获取网页内所有的URL,入队,继续重复第二步
搜索引擎如何获取新网站链接:
主动给搜索引擎提交URL
在其他站点设置友情链接
百度和DNS服务商合作,只要有域名,就会收录新网站
robots协议:
约定的协议,添加robots.txt 说明哪些不被爬取
自己写的爬虫无需遵守
网站排名:
根据pagerank值进行排名(参考网站流量,点击率等指标)
百度竞价排名
缺点:
爬取太多无用数据
不能根据用户需求来精准获取数据
聚焦爬虫:
功能:根据需求,实现爬虫程序抓取需要的数据
原理:
网页都有唯一的URL
网页都是HTML组成
传输协议都是HTTP/HTTPS
设计思路:
获取URL——确定要爬取的URL
如何访问——模拟浏览器通过HTTP协议访问URL,获取服务器返回的Html代码
如何解析——解析HTML字符串(根据一定规则提取需要的数据)
3.整体内容
python 语法
使用python库
urllib.request
urllib.parse
requests
scrapy
解析内容:
正则表达式
xpath
bs4
jsonpath
采集动态html
scrapy:高性能异步爬虫框架
分布式爬虫:scrapy——redis组件
反爬虫的一般手段:
User—Agent
代理ip
验证码访问
动态加载网页
数据加密
爬虫-反爬虫-反反爬虫
看视频整理老师所讲!