什么是爬虫技术,作用是什么,爬虫是什么技术,爬虫是什么动物的一种
互联网:你可以从一个地址到达任何其他地址。
href网址(url)
网络爬虫:写一个程序,它的功能是打开一个url,从内容中获取我们想要的数据。
有哪些语言可以实现这个功能?
(1)php,被誉为世界上最美的语言。实现不好,多进程多线程支持不好。
(2)c,C,学习成本很高,指针,不是一个好的选择。说你牛x
(3)java语言,爬虫做的不错,是python的主要对手。java做的不好。Java语言代码臃肿,重构成本高,差远了。
(4)python,实现的非常好,号称世界上最优雅的语言。它有优势,并由一个强大的框架Scrapy(实现scrapy(python语言))支持
通用爬行动物
百度、搜狗、谷歌、360、必应等搜索引擎
工作:抓取互联网中的所有数据,并为用户提供检索服务。
自己的网站呢?博客,阿里云服务器,放上去,放到网上。
百度可以抓取你的网站吗?
(1)在其他网站设置友情链接。
(2)主动提交url,百度开发者
(3)百度会和DNS服务商合作抢新网站。
百度能不能停止抓取你的网站?
可以,通过robots.txt文件,需要放在网站的根目录下。写出什么能抢,什么不能抢。
Robots.txt是口头约定,君子约定。百度遵守这个约定,我不遵守。
网站排名(SEO)
(1)page-rank值排名,对自身实力的排名
(2)竞价排名,魏则西事件
缺点:
(1)很多抓取的数据是没有用的。
(2)不能按规定要求获取数据。
搜索引擎
概念:根据具体需求从互联网上抓取指定数据。
网页的共同特征:
(1)每个网页都有自己唯一的url(统一资源定位符)
(2)网页都是html结构。
(3)网页传输使用http协议和https协议。
想法:
给我一个网址
(2)向该url发送请求并获得响应(web内容)
(3)解析网页并提取指定数据
环境:
Windows,linux,python3.6,编辑器(pycharm),sublime
总体内容:
(1)如何发送请求?
urllib.request urllib.parse请求
(2)分析数据
正则表达式(any),bs4(html),xpath(html),jsonpath(json数据)
(3)收集动态html数据
硒幻影(大把戏,独特的把戏)
(4)scrapy,scrapy-redis分布式部署
(5)涉及爬虫、反爬虫、反爬虫技术。
核心,理论上:只要浏览器能访问,那么程序就能访问。
在实际过程中,参数是不固定的,
防爬手段:UA、代理、验证码、动态数据加载、防盗链、懒加载。
坏:爬虫要求高网络爬虫数据。