我们学习一门东西,总要先了解这件东西的概念>那么爬虫是什么呢?
> 生活中,爬虫就是爬行的虫子,毛毛虫、蛆、蜘蛛(spider)
蜘蛛网:从任何一端都可以到达任何一端,由很多的节点构成
互联网爬虫。
互联网:从一个地址开始可以到达其它任何地址
a链接 href 网址(url)
互联网爬虫:写一个程序,功能就是打开一个url,从内容中获取我们想要的数据
>我们常见的通用爬虫有哪些呢?
百度、搜狗、谷歌、360、必应等 搜索引擎
工作:将互联网中所有的数据全部爬取下来,给用户提供检索服务
>聚焦爬虫
概念:根据特定的需求从互联网上爬取指定的数据
网页的共同特点:
(1)一个网页都有自己唯一的url(统一资源定位符)
(2)网页都是html结构的
(3)网页传输使用的都是http协议、https协议
思路:
(1)给我一个url
(2)向这个url发送请求,得到响应(网页内容)
(3)解析网页,提取指定数据
环境:
windows、linux、python3.6、编辑器(pycharm)、sublime
整体内容:
(1)如何发送请求
urllib.request urllib.parse requests
(2)解析数据
正则表达式(都可以)、bs4(html)、xpath(html)、jsonpath(json数据)
(3)采集动态html数据
selenium+phantomjs(大招、绝招)
(4)scrapy,scrapy-redis分布式部署
(5)涉及到爬虫、反爬虫、反反爬虫的技术
核心,理论上:只要浏览器能够访问,那么程序就能访问
实际过程中,参数搞不定,
反爬手段:UA、代理、验证码、动态数据加载、防盗链、懒加载
工作:爬虫要求高 web < 爬虫 < 数据