选择器

1.类名选择器 .
2.id选择器 #
3.标签选择器

组合器

直接子代组合器

后代组合器

“ ”(空格)组合器选择前一个元素的后代节点。

语法:A B

例子:div span 匹配所有位于任意

元素之内的 元素。

直接子代组合器

组合器选择前一个元素的直接子代的节点。
语法:A > B

例子:ul > li 匹配直接嵌套在

    元素内的所有
  • 元素。

    一般兄弟组合器

    ~ 组合器选择兄弟元素,也就是说,后一个节点在前一个节点后面的任意位置,并且共享同一个父节点。

    语法:A ~ B

    例子:p ~ span 匹配同一父元素下,

    元素后的所有 元素。

    紧邻兄弟组合器

    • 组合器选择相邻元素,即后一个元素紧跟在前一个之后,并且共享同一个父节点。

    语法:A + B

    例子:h2 + p 会匹配紧邻在 h2 元素后的第一个

    元素。

    列组合器 实验性

    || 组合器选择属于某个表格行的节点。

    语法:A || B

    例子:col || td 会匹配所有 作用域内的 (en-US) 元素。

    什么是网络爬虫

    我们将互联网(因特网)比作一张巨大的蜘蛛网,而爬虫就是一个蜘蛛,沿着蜘蛛网抓取想要的昆虫(数据)
    爬虫就是一个探测机器,模拟人的行为去各个网站爬取想要的数据,像一只虫子在网上不知疲倦的工作

    爬虫的发展

    1.在网站发展以前,最开始的网站数量很少,用户访问网站都是通过输入域名进行访问
    2.随着互联网发展,网站的数量呈爆炸式增长,用户的数量也在变多,需求随之发生变化,从主动浏览变成被动查询
    3.搜索网站随之诞生,爬虫也随之诞生

    网络请求

    客户端向服务器发送请求
    1.请求网址 request url(统一资源定位符)
    2.请求方法 request methods
    3.请求头 request headers
    谷歌浏览器 webkit Blink firefox IE safari 欧鹏
    urllib/python 3.0
    4.请求体 request body

    爬虫模拟浏览器,发送请求,获取响应
    为什么要模拟浏览器
    一般来说服务器是不欢迎爬虫程序的,爬虫要尽可能的模拟正常用户发送请求
    爬虫的工作—模拟客户端访问,抓取数据
    反爬的工作—保护数据,阻止恶意网络攻击
    反反爬—针对反爬采取的措施

    爬虫的用途

    数据分析/人工数据集
    社交软件冷启动
    舆情监控
    竞争对手监控
    自动化测试
    做一些脱离手动的操作(买票,投票)
    灰产业
    薅羊毛、发起网络攻击、水军

    robots协议

    一个约束文本文件,防君子不防小人

    爬虫的分类

    通用爬虫
        特点:爬取的网站没有上限
        百度、360、google
        SEO优化(获得搜索引擎免费流量扶持)
        SEM搜索引擎营销
    聚焦爬虫
        特点:爬取的网站有上限,有明确的目标
        分类
            功能性爬虫
                特点:不针对数据,主要目的是为了实现某一些功能
            数据增量爬虫
                特点:获取数据用于后续的分析
                分类
                    url与数据同时变化
                        数据与url同时更新
                    url不变,数据发生变化
                        数据部分更新