爬虫:写一段代码,去指定的URL(网站)去获取指定的数据
互联网:互联网中给你一个起始URL,www.baidu.com ,互联网中的每一个节点都是一个a链接,或者称为URL
通用爬虫:百度,搜狗,google,雅虎,bing
1、工作:
1、爬取所有信息
2、主动提交url(提升排名)
3、百度主动和域名服务商合作
2、 robots.txt(君子协议)
此协议可以告诉百度那些网页可以爬取那些不能爬取
3、如果不想让百度爬去:
robots.txt 放到django根目录
4、网站排名:pagerank算法
优化 ,钱还得收,审查资质
聚焦爬虫
1、通用爬虫的缺点:
1、爬取数据无用数据太多,重复率高
2、无法根据需求去爬取
2、都有那些语言可以实现爬虫:
php:自称世界上最优美的语言,多线程多进程支持的非常差(开发成本低,上线快)
C/C++:也可以实现爬虫,不太好,学习成本太高了,只是能力的体现
java:他是Python最强的竞争者,代码结构臃肿,重构成本高
python:号称全世界最优雅的语言,语法简介,简单易学,而且提供一个非常强大的scrapy框架
学习内容:
1、python 语法
2、如何抓取数据,涉及的库:
urllib.request urllib.parse requests
3、解析数据:
re正则 ,BS4 ,xpath
4、采集动态数据:
DOM操作,网页内容都是动态生成的
selenium+phantomjs
5、 进程,线程,多线程
6、scrapy框架
7、scrapy-redis分布式部署
8、爬虫-反爬虫-反反爬虫
UA,cookie,动态加载,懒加载,验证码,代理,防盗链
HTTP协议
1、网站工作原理
url:的完整格式:www.xxx.com 统一资源定位符
www.goudan.com/index.html?name=‘狗蛋’&age=‘18’#lala
主机IP地址:端口 /参数/锚点
锚点:以前用的多,多用于页面内容比较多的页面,用于指定页面内的位置
2、http/https区别:
https优点: ca认证 tcp 加密 认证用户和服务器
缺点:握手阶段费事 页面加载时间延长50%,增加10%-20%耗电
缓存不高效 ,增加开销和功耗 要钱
ssl证书要绑定ip 不能在同意ip绑定多个域名,ipv4不支持
加密范围有限,某些国家可操控Ca证书
3、http切换到https
百度:图片、美女
1、去网页查看
2、抓包(确定接口)
3、写代码(发送请求、)
4、检测内容