爬虫-day1-requests基本用法和网页基础

爬虫-day1-requests基本用法和网页基础

1.认识爬虫

  • 爬虫—用程序自动获取网页数据(可以让数据采集的过程变得简单又高效)

  • 爬虫流程

    第一步:获取网络数据(数据采集) - requests、selenium
    第二步:提取有效(有用)数据(数据解析) - 正则表达式、基于css选择器的解析器(bs4)、基于 xpath的数据解析(lxml)
    第三步:数据持久化(保存数据) - csv、excel、数据库

2.requests的用法

requests是Python做http请求(网络请求)的第三方库, 也是爬虫最简单又最实用的工具

  • 发送get请求------requests.get(url) - 发送请求获取指定网页的数据,返回一个响应(服务器返回给客户端的数据叫响应)对象

    注解:url叫统一资源定位符。(互联网中的每一个数据都有一个唯一的地址,这个地址就是这个数据的url)

    • 发送get请求

      url赋网页地址 - 你需要爬哪个网站的数据,就给哪个网站的网页地址
      response = requests.get(‘https://cd.zu.ke.com/zufang’)

    • 获取网页文本数据: 响应对象.text----response.text

    • url赋值图片、视频、音频的地址

      response = requests.get(‘https://game.gtimg.cn/images/lol/act/img/vo/ban/1.ogg’)

      获取图片、视频、音频的二进制数据: 响应对象.content

      result = response.content

      将图片、视频、音频保存成响应的文件到本地

      with open(‘files/安妮.ogg’, ‘wb’) as f:

      ​ f.write(result)

    • 如果网络地址提供的内容是数据(一般是json数据),那么这个地址就是数据接口

      response = requests.get()

      result = response.json()

      for x in result[‘newslist’]:

      		print(x['title'])
      

3.html常用网页标签

  • 标签语法-----html中标签分为:单标签、双标签

    • 双标签:<标签名 属性名1=属性值1 属性名2=属性值2 …>标签内容</标签名>

      ​ 1.标题标签: h1 ~ h6
      ​ 2. 段落标签: p
      ​ 3. 行内文字标签:span、b、i

    • 单标签:<标签名 属性名1=属性值1 属性名2=属性值2 …> 或者 <标签名 属性名1=属性值1 属性名2=属性值2 … />

    • 说明:
      标签名 - 是html提前创建好的,不需要程序员自己创建,只需要在需要某个标签的功能的时候使用该标签
      属性 - 以’属性名=属性值’的形式存在,多个属性用空格隔开。
      属性值不管从生活的角度是什么类型的数据,都必须加双引号。
      标签内容 - 只有双标签才有标签内容; 标签内容可以是纯文字,也可以是一个或者多个其他标签,还可以是文字和标签的组合

  • 图片标签: img

    ​ src属性: 需要显示的图片地址
    ​ title属性:图片标题
    ​ alt属性:图片加载失败的提示信息

  • 超链接:a

    ​ 标签内容: 超链接可见可点击的部分
    ​ href属性:跳转的目标地址
    ​ target属性:跳转方式

  • 有序列表: ol - li

    ​ ol标签: 提供一个容器,相当于Python列表的[ ]
    ​ li标签: 提供列表中的元素

  • 无序列表: ul - li

  • 输入框: input-----

  • 按钮:button、input-----

4.css语法

  • css语法-----------css负责网页内容的样式和布局。(主要负责让网页变得好看)

    说明:
    选择器 - 选中标签(需要给哪个标签设置样式,就通过选择器选中那个标签)
    属性 - 不同的属性表示不同的样式。
    常见属性:color - 设置文字颜色、background-color - 设置背景颜色、
    font-size - 设置字体大小、 width - 设置宽度、height - 设置高度

  • 选择器

    • 元素选择器(标签选择器): 直接将标签名作为一个选择器,选中指定的所有标签

      例如:p{} - 选中所有的p标签; a{} - 选中所有的a标签

    • id选择器: 在id属性值前加#作为一个选择器,选中id属性值为指定值的标签 (id属性是唯一的)

      例如:#p1 - 选中id属性值为p1的标签

    • 类选择器:在class属性值前加.作为一个选择器,选中class属性值为指定值的所有标签

      例如:.c1 - 选中class属性值包含c1的所有标签
      .c1.c2 - 选中class属性值同时包含c1和c2的所有标签

    • 群组选择器:多个选择器用逗号隔开作为一个选择器,选中用逗号隔开的每个选择器选中的所有标签

      ​ 例如:p,a{} - 选中所有的p标签和所有的a标签
      ​ p,#p1,.c2{} - 选中所有p标签和所有id为p1的标签以及所有class值为c2的标签

    • 子代(父子)选择器: 多个选择器用>隔开作为一个选择器

    • 后代选择器:多个选择器用 隔开作为一个选择器

    • div 没有任何实际意义,仅作为页面模块之间的分割作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值