当前位置:   article > 正文

day19 爬虫和前端

day19 爬虫和前端

九 爬虫

9.1 认识爬虫

1.什么是爬虫 - 获取网络数据(公开的网络)

网络数据来源:网站对应的网页、手机APP

2.爬虫的基本流程

第一步:获取网络数据(requests、selenium)

第二步:解析数据-从获取的网络数据中提取有效的数据(正则、bs4、lxml)

第三步:保存数据(csv、excel、数据等)

3.requests - 获取网络数据的第三方库(基于http或者https协议的网络请求)

爬虫使用requests的两个常景:直接请求网页地址、对提供网页数据的数据接口发送请求

1)对目标网页直接发送请求

requests.get(网页地址) - 获取指定网页的数据返回一个响应对象

import requests

response= requests.get('https://cd.zu.ke.com/zufang')
print(response) #<Response [200]> 200-请求成功
  • 1
  • 2
  • 3
  • 4

获取响应的状态码 status_code

print(response.status_code)
if response.status_code!=200:
    pass
  • 1
  • 2
  • 3

获取响应头

print(response.headers)
  • 1

请求内容(返回的真正有用的数据)

response.content - 二进制类型的数据(图片、视频、音频等,例如图片下载)

response.text - 字符串类型的数据(网页)

response.json() - 对请求内容做完json解析后的数据(json数据接口)

print(response.content)
  • 1

4.html是以标签为单位来给网页提供内容的。

不同的标签可以提供不同的内容。

  1. 标签的语法结构(重要!):

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

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

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>YuTing的网站</title>
		<link rel="icon"  href="img/长城.png">
	</head>
	
	<body>
		
		<h1>学生信息录入</h1>
		<img src="https://img1.baidu.com/it/u=3002324397,2878731521&fm=253&fmt=auto&app=138&f=JPEG?w=640&h=427" alt="">
		<p>请同学们完善以下数据:</p>
		
		<img src="img/三峡.png" alt="">
		<span>基本信息</span>
		
		<a href="https://www.baidu.com">百度</a>
		<br>
		<br>
		姓名:<input type="text" value="张三">
		密码:<input type="password" name="" id="">
		<br><br>
		性别:
		<input type="radio" name="gender" id="g1"><label for="g1"></label>		
		<input type="radio" name="gender" id="g2"><label for="g2"></label>
		
		<br><br>
		兴趣:
		<input type="checkbox">篮球  
		<input type="checkbox">乒乓球
		<input type="checkbox">爬山
		<input type="checkbox">玩儿游戏
		<input type="checkbox">看动漫
		
		<br><br>
		籍贯:
		<select name="" id="">
			<option value="北京">北京</option>
			<option value="成都">成都</option>
			<option value="重庆">重庆</option>
			<option value="上海">上海</option>
		</select>
		
	</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

5.css选择器

css负责网页内容样式(让网页可以变得更好看)

css语法:

选择器(属性1:属性值1;属性2:属性值2…)

选择器:选中需要添加样式的标签

2.css选择器

独立存在的选择器有三个

1)元素选择器(标签选择器) - 将标签名作为选择器,选中所有指定的标签

​ p{} - 选中所有的p标签

2)id选择器 - 在id属性值前面加#号作为一个选择器,选中id属性值为指定值的标签

​ 每一个可见的标签都可以设置id属性,并且一个页面中,同一个id值只有一个标签。

​ #id值{}

​ #p1 - 选中id属性值为p1的标签

3)class选择器 - 在class属性值前加.作为一个选择器,选中class属性值为指定值的标签

​ 不同的标签可以有相同的class值,同一个标签可以有不同的class值(在class值后面空格加上class值,可以有多个class值)

​ .class值{}

​ .c1 - 获取class值为c1的所有标签

​ p.c1 - 获取class值为c1的p标签

​ .c1.c2 - 获取class值同时为c1和c2的标签

4)群组选择器 - 将多个选择器用逗号隔开作为一个选择器

​ p,a{} - 选中所有的p标签和所有的a标签

​ #p1,.c1,p{} - 所有id为p1的标签和class值为c1的标签以及所有的p标签

5)子代选择器 - 多个选择器用>号隔开作为一个选择器(只能有儿子)

​ div>p{} - 9

6)后代选择器 - 多个选择器用空格隔开作为一个选择器(儿子孙子都可以)

​ div p{}

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<!-- style标签中可以写css代码 -->
		
	</head>
	<body>
		<!-- ------------1. 元素选择器案例 -------- -->
		<style>
			p{
				color: red;
				font-size: 30px;
			}
		</style>
		<p>我是段落1</p>
		<a href="">我是超链接1</a>
		<div>我是div1</div>
		<a href="">我是超链接2</a>
		<p>我是段落2</p>
		
		<!-- ------------2. id选择器案例 -------- -->
		<style>
			#p2{
				color: green;
				background-color: yellow;
			}
		</style>
		<p>我是段落1</p>
		<a href="">我是超链接1</a>
		<div>我是div1</div>
		<a href="">我是超链接2</a>
		<p id="p2">我是段落2</p> -->
		
		
		<!-- ------------3. class选择器案例 -------- -->
		<!-- <style>
			.c1{
				color: red;
				font-size: 30px;
			}
			
			.c2{
				background-color: yellow;
			}
			
			p.c1{
				text-decoration: line-through;
			}
			
			.c1.c2{
				border: 1px solid blue;
			}
		</style>
		<p class="c1 c2">我是段落1</p>
		<a class="c2" href="">我是超链接1</a>
		<div>我是div1</div>
		<a class="c1" href="">我是超链接2</a>
		<p id="p2">我是段落2</p>
		<p class="c1">我是段落3</p>
		
		
		<!-- ------------4. 群组选择器案例 -------- -->
		<style>
			a,p{
				color: red;
				font-size: 30px;
			}
			.c1,a{
				background-color: yellow;
			}
		</style>
		<p class="c1">我是段落1</p>
		<a href="">我是超链接1</a>
		<div>我是div1</div>
		<a href="">我是超链接2</a>
		<p>我是段落2</p>
		
		
		<style>
			p{
				color: red;
			}
			
			div>p{
				font-size: 30px;
			}
			
			div p{
				background-color: yellow;
			}
			
			#box1>div p{
				
			}
		</style>
		
		<p>我是段落1</p>
		
		<div>
			<p>我是段落2</p>
			<span>
				<p>我是段落5</p>
			</span>
		</div>
		
		<div id="box1">
			<p>我是段落3</p>
			<div>
				<span>
					<div>
						<p>我是段落4</p>
					</div>
				</span>
			</div>
		</div>	
	</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/885937
推荐阅读
相关标签
  

闽ICP备14008679号