Day2_Python学习笔记
css基础
- css负责网页内容的样式和布局(css叫做层叠样式表,简称样式表)
- css语法:
"""
语法:
选择器{属性名1:属性值1;属性名2:属性值2;...}
说明:
选择器 - 选中需要设置样式的标签
{} - 固定写法
属性名 - 用来决定需要设置那个样式
属性值 - 如果是表示数值大小,数字值需要单位,一般是px(像素)
常用属性:color:文字样式(颜色英文单词,rgb(红,绿,篮),#颜色的16进制值)
font-size:字体大小
background:背景颜色
width:设置宽度
height:设置高度
"""
- css代码写在哪儿
- 内联样式表 - 将css代码写style标签属性中(这个时候不需要写选择器和大括号)
- 内部样式表 - 将css代码写在style标签中(style标签既可以放在head中也可以放在body中)
- 外部样式表 - 将css代码写在css文件中,然后在html里面通过link标签导入
css选择器
-
标签选择器(元素选择器) - 权重值为1
直接标签名作为一个选择器,选中整个页面中所有的指令标签
例如:p{} - 选中所有的p标签,a{} - 选中所有的a标签 -
id选择器 -权重值为4
在标签的id属性值前面加#作为一个选择器,选中id属性值是指定值的标签(id是唯一的)
例如:#p2{} - 选中id值为p2的标签,#a - 选中id属性值为a的标签 -
类选择器(class选择器) -权重2
在标签的class属性值前加.作为选择器,选中class属性值是指定值的所有标签
例如:.c1{} - 选中class属性值为c1的所有标签;.a{} - 选中class属性值为a的所有标签
.c1.c2{} - 选中class属性值同时有c1和c2的标签 -
群组选择器
将多个选择器用逗号隔开作为选择器,选中每个独立选择器选中的所有标签.
例如:p,a{} - 选中所有p标签和所有的a标签
.c1,p{} - 选中所有class是c1的标签和所有的p标签
.c1,#p1,#p2{} - 选中所有class是c1,id是p1和id是p2的标签 -
后代选择器
将多个独立选择器用空格隔开作为一个选择器
例如:p a{} - 选中所有作为p标签的后代的a标签.(选中p标签下面的a标签,a标签是p标签的)
div #p1 .c1{} - 选中所有div下面id为p1下面class为c1的标签 -
子代选择器
将多个独立选择器用>隔开作为选择器
例如:p>a - 选中所有作为p标签的子代a标签 -
补充:
div.info{} - 选中class为info的所有div标签
#p1.c1{} - 选中class为c1且id为p1的所有标签
div p:nth-child(N) - 选中div里面的第N个p标签
http协议
-
URL(Uniform Resource Locator)(统一资源定位符)
-
URL的基本格式 = 协议://主机地址/路径
如:http://www.1000phone.com/img/logo.png
requests的基本用法
-
发送请求,获取响应
请求地址:url =‘https://movie.douban.com/top250’
请求头:headers = {‘User-Agent’: ‘浏览器或者其他的User-Agent值’}
response = requests.get(url,headers=headers)
-
响应
-
设置编码方式(乱码才需要去设置,编码方式需要去找对应的charset值)
response.encoding = ‘编码方式’
-
获取状态码
response.status_code = 值 (值为200+才是正常的)
-
获取请求的文本内容(针对url是网页地址)
response.text
-
获取json数据(针对url是二进制地址,比如图片地址,视频地址)
response.json( )
-
获取二进制数据(针对url是二进制文件地址,比如图片地址,视频地址)
response.content
-
-
获取响应头
response.headers
图片下载
-
网络图片地址
url = ‘http://img.y80s.tw/upload/img/210209/2aadff8567330c79_b.jpg’
-
请求图片数据
response = requests.get(url) if response.status_code == 200: f = open('./a.jpg', 'wb') f.write(response.content) f.close()
获取多页面数据
- 如果目标网站以多页的方式来提供数据,爬虫的时候先找不同页面的url之间的规律
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36'
}
def get_top250(url):
response = requests.get(url, headers=headers)
if response.status_code == 200:
print(response.text)
else:
print(response.status_code)
print('======================================')
return
if __name__ == '__main__':
for start in range(0, 226, 25):
url = f'https://movie.douban.com/top250?start={start}&filter='
get_top250(url)
设置cookie值
import requests
url = 'http://www.zhihu.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
'cookie': '登录后网页都cookie值!'}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print(response.text)
else:
print('请求失败!')