栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第三周 知识要点总结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第三周 知识要点总结

XLS文件读写

利用xlwt、xrld模块进行xls文件读写

xlwt、xlrd行列号从0开始,使用write() 写操作

pip install xlwt/pip install xlrd

import xlwt
import random
# 创建文件
wb = xlwt.Workbook()
# 创建工作表
sheet1 = wb.add_sheet('一年级一班成绩')
# 写入数据
names =['张飞','刘备','关羽','貂蝉','曹操']
for i in range(len(names)):
    sheet1.write(i, 0, names[i])
    for j in range(1,4):
        # 工作表.write(row,col,content)
        sheet1.write(i,j,random.randint(0,100))
# 保存
wb.save('一年级成绩表.xls')

# 打开文件
wb = xlrd.open_workbook('一年级成绩表.xls')
# 选择工作表
# sheet_names() --> 查看存在的所有工作表
# sheet_by_index()--()工作表页数
# sheet_by_namse()--()工作表名称

ws = wb.sheet_by_index(0)
ws1 = wb.sheet_by_namse('一年级一班成绩')
print(ws1.cell(0,0).value)  # 输出对应坐标单元格内容

# 获取行列数
# nrows:获取最大行数
# ncols:获取最大列数
爬虫

爬虫:网络数据采集,自定义编写规则,批量爬取数据

爬虫的流程:

1.解析HTML页面

2.根据前端的语法或者正则表达式提取数据。

3.保存数据

requests:通过网址向服务器发送请求,等待服务器相应结果,根据结果进行相关操作、

response = requests.get(url=目标网址)

status_code:状态码 – >判断服务器和网页的状态:

200:正常通信

403:拒绝爬虫请求,存在反爬虫机制

404:网页丢失

500:服务器崩溃

如果网页发生乱码,根据页面指定编码方式进行解码即可

requests默认使用ISO-8859-1的编码(ASCII码)

使用charset查找网页使用的编码

text:页面源代码(字符串类型)

content:页面源代码(二进制形式) 常用于图片、音频、视频的爬取

# 图片下载
import requests
URL='目标路径'
response = requests.get(url=URL)
if response.status_code == 200:
    photo = open('保存文件地址','wb')
    photo.write(response.content)
    photo.close()
 else:
    print(f'状态码:{response.status_code}')

**BeauitifulSoup4模块 **

BeauitfulSoup4-根据相应结果解析页面,提取数据

安装模块的时候输入from bs4 import BeautifulSoup

bs4模块能从html或者xml中提取数据

headers给爬虫提供伪装,使其能够顺利访问目标服务器

headers={} —>headers是一个字典:{key:value}

User-Agent查找:检查目标网站-网络-所有-name-选择第一个-head-下拉到最后

BeautifulSoup(网页源代码,解析器)–能够将字符串类型的源代码转换为bs4类型

bs4模块提供了一系列的提取数据的方法,这些方法的操作对象为bs4类型的数据

将字符串类型转为bs4类型:

soup = BeautifulSoup(response.text,‘html.paser’) html.paser为py内置解码器

bs4模块提供的提取数据方法:

select:根据CSS选择器(标签、class、id等)定位数据。得到符合这个选择器的所有结果,结果整体为列表,其中的元素是bs4类型数据

select_one:根据CSS选择器(标签、class、id等)定位数据。得到符合这个选择器的一个结果,结果是bs4类型数据

text:从得到的bs4类型数据中提取标签内的内容,结果为字符串形式

attris:从得到的bs4类型数据中提取标签的属性值,结果为字符串形式

# 爬取中新网的新闻
import requests
from bs4 import BeautifluSoup
# 选择爬取的范围
for page in range(1,11):
    print(f'第{page}页')
    URL = f'https://www.chinanews.com.cn/scroll-news/news{page}.html'
    Headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0'
    }
    response = requests.get(url=URL)
    if response.status_code == 200 : # 如果通信正常
        response.enconding = 'utf-8' # 调整编码格式
        soup = BeautifulSoup(response.text,'html.paser') # 将字符串结果转为bs4类型数据
        li_list=soup.select(
            'body>div.w1280.mt20>div.content-left>div.content_list>ul>li')  # 找到对应的位置
        # print(li_list)
        for i in li_list:
            # print(i)
            # 去掉空值,不去掉空值,后面要报错
            if i.select_one('li>div.dd_lm>a') !=None:
                news_type=i.select_one('li>div.dd_lm>a').text
                # print(news_type)
                news_title= i.select_one('li>div.dd_bt>a').text
                # print(news_title)
                news_herf ='https://www.chinanews.com.cn'+i.select_one('li>div.dd_bt>a').attrs['href']
                # 加上本来网站网址,字符串形式
                # print(news_herf)
                news_time= i.select_one('li>div.dd_time').text
                # print(news_time)
                print(news_type,news_title,news_herf,news_time)
前端基础知识

HTML文件理解为是一个html标签,html标签内包含了head标签和body标签

head标签存放页面部分配置项,body标签显示页面内容

html标签分为双标签(一般标签)、单标签(自闭合标签)

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

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

​ <标签名 属性1=属性值1 属性2=属性值2…/>

属性=属性值 ->固定写法,用于修改标签内容和样式

CSS边框以及文字属性调整

选择器的优先级

第一级:属性后面加!important

第二级:内联样式

第三级:看权重

通配符选择器-1

标签选择器-1

class选择器-2

id选择器-4

父子、后代、兄弟、相邻兄弟选择器-看符号之间各个选择器的权重和,先比较前面符号、。

伪类选择器

伪类选择器是选择的标签在不同场景下的某个状态

普通标签的状态:悬停,点击,激活

hover-悬停 ,active-点击

标准流布局

1.标准流布局:没有设置任何布局样式,使用标签自己的特性

a.块级布局标签:一个标签占一行:h1~h6、p标签等等

b.行内标签:1行多个标签,设置宽高无效:a标签,span标签

c.行内块标签:1行多个标签,设置宽高有效:img标签,input标签

2.display

3.脱流

a.浮动和定位

浮动:float 让竖着的页面,横着显示

定位:设置一个标签到参考对象上下左右的间距

position属性:选定参考对象

absolute:绝对定位-存在元素,不占据位置

relative:相对定位-存在元素。可以任意移动,原位置不被占据

fixed:固定定位-不占空间,不受盒子大小影响,用于返回顶部,联系咨询窗口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008314.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号