亲宝软件园·资讯

展开

Python基础第三方模块requests openpyxl

Kkkkangsh 人气:0

一、第三方模块的下载与使用

1、什么是第三方模块

2、如何安装第三方模块

方式一:pip工具

安装方式:

1、打开python解释器的安装目录,找到Scipts目录,该目录下会有pip.exe的程序,这个程序就是用来安装第三方模块的

2、将python版本对应的Scipts文件目录添加至系统环境变量

3、打开cmd命令提示符窗口,在cmd命令窗口中运行下载第三方模块的句式

下载第三方模块的句式
	pip install 模块名
下载第三方模块临时切换仓库
	pip install 模块名 -i 仓库地址
下载第三方模块指定版本(不指定默认是最新版)
	pip install 模块名==版本号 -i 仓库地址

注意事项:

我们的电脑中可能安装了多个版本的python解释器,每个版本中都有pip工具,在我们使用pip安装模块时,需要下载在我们使用的版本中的pip工具中,否则下载的模块将无法运行

方式二:pycharm中下载

安装方式:

1、在pycharm中点击左上角File

2、在下方目录中找到Settings

3、找到Project,打开python Interpreter

4、点击'+'号,在上方窗口内输入想要下载的模块

5、点击Install Package,等待即可下载完成

注意事项:

1、在安装窗口右侧找到Specify versin 可选择需要下载模块版本号

2、Manage Repositories可配置仓库地址

3、注意事项

1、报错并有警告信息

WARNING: You are using pip version 20.2.1;

d:\python38\python.exe -m pip install --upgrade pip

2、报错,提示关键字

Timeout

3、报错,无关键字

面向百度搜索

4、下载速度慢

pip的默认下载地址都是国外的,我们只需要切换下载地址即可

清华大学 :
    http://pypi.tuna.tsinghua.edu.cn/simple/

阿里云:
    http://mirrors.aliyun.com/pypi/simple/

中国科学技术大学 :
    http://pypi.mirrors.ustc.edu.cn/simple/

华中科技大学:
    http://pypi.hustunique.com/

豆瓣源:
    http://pypi.douban.com/simple/

腾讯源:
    http://mirrors.cloud.tencent.com/pypi/simple

华为镜像源:
    https://repo.huaweicloud.com/repository/pypi/simple/

二、网络爬虫之requests模块

1、简介

2、使用方法

导入模块:

import requests

1.关键词:get( )

作用:用于向浏览器发送请求

代码用法:

url = "https://www.baidu.com"
res = requests.get(url)

2.关键词:encoding

作用:指定编码格式,针对一些古老的网站,在获取网页信息的时候,不指定编码格式的话可能会出现乱码。不指定的情况下默认使用系统自带的编码环境

代码用法:

res = encoding = 'utf8'

3.关键词:content

作用:返回的是一个原生字符串,是bytes类型

代码用法:

print(res.content)
# 返回的是一个原生字符串,是bytes类型

4.关键词:text

作用:获取字符串类型的网页数据(默认按照utf8)

代码用法:

print(res.text)
# 获取字符串类型的网页数据(默认按照utf8)

5.关键词:url

作用:打印请求

代码用法:

print(res.url)

6.关键词:status_code

作用:打印状态码

代码用法:

print(res.staus_code)

三、网络爬虫实战

1、爬取链家网站房屋信息

import re
import requests
from openpyxl import Workbook
url = 'https://sh.lianjia.com/ershoufang/pg1/'
for i in range(1, 101):
    url = f"https://sh.lianjia.com/ershoufang/pg{i}/"
    print(url)
    res = requests.get(url)
    url_data = res.text
    home_biaoqian = re.findall(
        """data-is_focus="" data-sl="">(.*?)</a>""",
        url_data)
    home_xiaoqu_name = re.findall(
        """<a href="https:.*?" rel="external nofollow"  target="_blank" data-log_index=".*?" data-el=".*?">(.*?)</a>""",
        url_data)
    home_xiaoqu_dir = re.findall("""<a href="https://sh.lianjia.com/ershoufang/.*?/" rel="external nofollow"  target="_blank">(.*?)</a>""",
                                 url_data)
    home_jutixinxi = re.findall("""<div class="houseInfo"><span class="houseIcon"></span>(.*?)</div>""", url_data)
    home_guanzhudu = re.findall("""<div class="followInfo"><span class="starIcon"></span>(.*?)</div>""", url_data)
    home_zongjia = re.findall("""<span class="">(.*?)</span>""", url_data)
    home_danjia = re.findall("""<span>(.*?)</span>""", url_data)
    home_data = zip(home_xiaoqu_name, home_xiaoqu_dir, home_biaoqian, home_jutixinxi, home_guanzhudu, home_zongjia,
                    home_danjia)
    with open(r'sh_.txt', 'w', encoding='utf8') as f:
        for i in home_data:
            f.write('''
                小区名称:%s
                小区地址:%s
                小区标签:%s
                详情:%s
                关注度:%s
                总价:%s
                单价:%s\r
                '''%i)

四、openpyxl模块

1、简介

注意事项:

excel文件的版本及后缀

2003版本之前 excel的文件后缀是xls

2003版本之后 excel的文件后缀是xlsx、csv

2、创建文件相关

2、1.创建excel文件

关键词:workbook

作用:

代码用法:

导入模块:
	form openpyxl import workbook
代码用法:
	from openpyxl import Workbook
    wb = Workbook
	 # 一个 excel 文件创建成功

2、2.创建工作簿

关键词:cerate_sheet( )

作用:

代码用法:

导入模块:
	form openpyxl import workbook
代码用法:
	from openpyxl import Workbook
	wb = Workbook()
	ws1 = wb.cerate_sheet('工作簿名称', 0)

sheet 是自动生成的

2、3.修改工作簿名称

关键词:title

作用:

代码用法:

导入模块:
	form openpyxl import workbook
代码用法:
	from openpyxl import Workbook
	wb = Workbook()
	ws1 = wb.cerate_sheet('用户信息表', 0)
	ws1.title = 'user_infor'

2、4.修改工作簿颜色

关键词:sheet_properties.tabColor

作用:

代码用法:

导入模块:
	from openpyxl import Workbook
    wb = Workbook()
    ws1 = wb.create_sheet('用户信息表', 0)
    ws1.sheet_properties.tabColor = 'FF6666' 
    # 将标题背景改为指定RRGGBB颜色代码

2、5.查看文件所有工作簿

关键词:sheetname

作用:

代码用法:

导入模块:
	from openpyxl import Workbook
代码用法:
	wb = Workbook()
	ws1 = wb.create_sheet('uese_zhangzhang')
	ws2 = wb.create_sheet('user_kangkang')
	print(wb.sheetname)
	# ['user_zhangzhang', 'user_zhangzhang']                

3、写入内容相关

3、1.写入/修改内容

关键词:ws[]

作用:

代码用法:

导入模块:
	from openpyxl import Workbook
代码用法:
	wb = Workbook()
	ws1 = wb.create_sheet('uese_zhangzhang')
	ws1['A1'] = 'kangkang'
	# ws1['A1'] 代表的是该表中的 A1 位置,我们可以将数据直接赋值给它

关键词:cell( )

作用:

代码用法:

导入模块:
	from openpyxl import Workbook
代码用法:
	wb = Workbook()
	ws1 = wb.create_sheet('uese_zhangzhang')
	ws1.cell(row = 1, column= 1, value = 'kangkang')
	# 在第一行,第一列,填入数值'kangkang'

3、2.一次写入多个数据

关键词:append()

作用:

代码用法:

导入模块:
	from openpyxl import Workbook
代码用法:
	wb = Workbook()
	ws = wb.cerate_sheet('user_name', 0)
	ws.append(['序号', '姓名', '性别', '年龄'])
	ws.append(['1', 'kangkang', '男', '18'])

4、读取内容相关

4、1.访问多个单元格

用法:直接使用切片操作的方式

代码用法:

x = ws['A1':'C2']
x1 = ws['C']
x2 = ws['C:D']
x3 = ws[10]
x4 = ws[5:10]

4、2.获取单元格值

关键词:values

作用:

代码用法:

导入模块:
	from openpyxl import Workbook
代码用法:
	wb = Wordbook()
	ws1 = wb.create_sheet('nser_name', 0)
	ws1.append(['name', 'age', 'hobby'])
	ws1.append(['kangkang', 18, 'read'])
	for i in ws1.vallue:
        print(i)

5、保存文件

关键词:save( )

作用:

代码用法:

wb = Workbook()
wb.save('user_infor.xlsx') 
# balances.xlsx 是保存的路径,也就是文件名。
# 编辑完要保存才行。

6、打开文件

前面说的是我们如何创建文件,编辑创建后的文件,对创建的文件进行编辑。

下面所说的是我们如何打开现有的文件,并进行编辑

load_workbook

模块导入:

from openpyxl import load_workbook

6、1.读取工作簿数据

方式一:

from openpyxl import load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
ws = wb['用户信息表']  # 拿到工作薄对象
print(ws['A1'].value)  # 取出工作薄对象中 A1 位置的值

方式一:

from openpyxl import load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
ws = wb['用户信息表']
print(ws.cell(row=2, column=1).value)  # 通过行与列的形式来取值

方式三:(逐行读取)

方式三(逐行读取)
from openpyxl import load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
ws = wb['用户信息表']
for row in ws.rows:  # 获取每一行的数据
	for data in row:  # 获取每一行中单元格的数据
		print(data.value)  # 打印单元格的值

加载全部内容

相关教程
猜你喜欢
用户评论