首页 > 其他分享 >第三方模块的下载和使用,requests模块,openpyxl模块

第三方模块的下载和使用,requests模块,openpyxl模块

时间:2022-10-26 20:48:17浏览次数:43  
标签:openpyxl list 模块 pip home requests data 下载

第三方模块的下载和使用

之前我们在刚学模块的时候说过模块有几个分类:
1.内置模块
2.自定义模块
3.第三方模块
今天我们就学习了第三方模块的下载与使用方法
我们如果想要使用第三方模块那必须先下载 ,之后才能反复使用。
----------------------------------------------------------------------------------
下载第三方模块的2种方式:
1.pip工具
   如我们电脑里有多个python版本,那么我们每个python 目录下有一个Scripts 文件夹,文件夹下有个pip程序,在我们使用的时候一定要注意该pip的版本。我们使用什么版本的解释器就要用什么版本的pip下载模块。
"""我们可以在各个python版本下的pip程序复制更名加上该版本号"""
在cmd命令行里下载模块的句式:
	pip install 模块名
"""下载默认下载仓库是国外的,那么我们可以切换成国内的仓库,可以提升下载速度"""
切换下载仓库:
	pip install 模块名 -i 仓库地址
"""也可以指定模块的版本号,默认最新版本,版本新不代表好用,也有可能很不稳定"""
指定模块版本:
	pip install 模块名=版本号 -i 仓库地址
----------------------------------------------------------------------------------
2.pycharm提供的方法
打开file --- 打开settings  --- 选择 project:文件名  --- 点击 python Interpreter  ---- 双击模块名或点击+号 --- 输入模块名搜索 点击下方的install Package下载  -- 下载右侧的Manage Repositories 可以设置下载仓库,展示在模块名后方 --- 界面右下方的Specify version 可以选择模块版本号

image

cmd命令pip下载方式错误处理方法

下载第三方模块可能会出现的问题
1.报错并有警告信息
  WARNING: You are using pip version 20.2.1;
"""原因在于pip版本太低了,拷贝后面的命令执行更新就行    eg:d:\python38\python.exe -m pip install --upgrade pip      (upgrade pip) 更新的意思"""
更新完成后再次执行下载第三方模块的命令句式
----------------------------------------------------------------------------------
2.报错并含有Timeout关键字
# 说明当前计算机网络不稳定,更换网络或重新执行几次可解决问题。
----------------------------------------------------------------------------------
3.报错并没有关键字
百度搜吧。 根据 pip下载模块报错后面的'报错信息'来上百度搜。
# 一般都是需要提前下载一些文件 才可以顺利下载
----------------------------------------------------------------------------------
4.下载速度很慢
因为pip默认的下载仓库是国外的。
我们可以更换下载仓库地址
pip install 模块名 -i 仓库地址
# 仓库的地址有很多,百度一搜就有

pip下载仓库地址

清华大学 :https://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模块

requests 可以模拟浏览器发送网络请求,比正则表达式更能快捷的访问,不需要再去复制文本。

import requests
1.根据我们给的网址 往指定的网址发送请求获取页面数据
res = requests.get('http://www.redbull.com.cn/about/branch')
print(res.content) # 获取二进制的网页数据
2.获取的可能是二进制的数据我们可以指定代码
encoding
res.encoding = 'utf8' # 指定编码
print(res.text)  # 获取字符串类型的网页数据
默认是以当前计算机的编码

网络爬虫实战 --- 爬取二手房数据

需要组合正则表达式使用。 pycharm 使用正则表达式那么就要借助 re模块

import requests
import re

res = requests.get('https://sh.lianjia.com/ershoufang/pudong/')
# 像指定的网址发出网络请求
print(res.text) # 打印网页源代码
data = res.txt # 变量名绑定 源代码
# 获取标题名
home_title_list = re.findall(
    '<a class="" href=".*?" target="_blank" data-log_index=".*?"  data-el="ershoufang" data-housecode=".*?" data-is_focus="" data-sl="">(.*?)</a>',
    data)
print(home_title_list)
""" 根据源代码 寻找其特征使用 .*? 非贪婪匹配,根据左右两边的 条件 匹配 数据.  其余信息找到其规律 使用正则表达式 进行匹配  """
# 总之不论什么网址 我们只要找到其代码中,我们需要查找的数据的规律,根据左右两边 的条件来匹配。
"""我们只需在我们需要的数据那里使用分组优先展示 即可得到我们想要的数据"""
# 获取小区名
home_name_list = re.findall('<a href=".*?" target="_blank" data-log_index=".*?" data-el="region">(.*?) </a>', data)
# 获取街道名
home_street_list = re.findall(
    '<div class="positionInfo"><span class="positionIcon"></span><a href=".*?" target="_blank" data-log_index=".*?" data-el="region">.*? </a>   -  <a href=".*?" target="_blank">(.*?)</a> </div>',
    data)
# 获取详细信息
home_info_list = re.findall('<div class="houseInfo"><span class="houseIcon"></span>(.*?)</div>', data)
# 获取关注度
home_watch_list = re.findall('<div class="followInfo"><span class="starIcon"></span>(.*?)</div>', data)
# 获取房屋总价
home_total_price_list = re.findall(
    '<div class="totalPrice totalPrice2"><i> </i><span class="">(.*?)</span><i>万</i></div>', data)
# 获取单价
home_unit_price_list = re.findall(
    '<div class="unitPrice" data-hid=".*?" data-rid=".*?" data-price=".*?"><span>(.*?)</span></div>', data)
# 得到我们所有想要得到的数据后可以使用zip 把他们结合在一起
home_data = zip(home_title_list, home_name_list, home_street_list, home_info_list, home_watch_list,
                home_total_price_list, home_unit_price_list)
# 打开文件 使用 w模式会自动新建文件
with open(r'home_data.txt', 'w', encoding = 'utf8') as f:
    # 使用 for 循环获取内容循环打印
    for data in home_data:
        # 可以使用占位符也可以使用格式化打印
        print("""
          房屋标题:%s
          小区名称:%s
          街道名称:%s
          详细信息:%s
          关注程度:%s
          房屋总价:%s
          房屋单价:%s"""% data)
        # 使用文件操作 写入数据
        f.write("""
                房屋标题:%s
                小区名称:%s
                街道名称:%s
                详细信息:%s
                关注程度:%s
                房屋总价:%s
                房屋单价:%s\n
                """%data)
        # 加上换行符
使用pandas 方法写入
imoprt pandas
d1 = {
    "房屋标题":home_title_list,
    "小区名称":home_name_list,
    "街道名称":home_street_list,
    "详细信息":home_info_list,
    "关注程度":home_watch_list,
    "房屋总价":home_total_price_list,
    "房屋单价":home_unit_price_list
}
# 字典转成pandas里的 DataFrame 数据结构
d2 = pandas.DataFrame(d1)
# 保存成excel文件
d2.to_excel(r'2.xlsx')
# from openpyxl import workbook

自动化办公领域之openpyxl模块

openpyxl 模块可以帮助我们 把爬取到的数据存放入excel表格里

excel 表格文件的后缀名问题
03 版本之前: .xls  # 兼容性比较差
03 版本之后: .xlsx  

操作excel表格的第三方模块
xlwt 往表格中写入数据
wlrd 从表格中读取数据
# 兼容所有版本的excel文件
----------------------------------------------------------------------------------
openpyxl模块 操作:
使用方法: 可以参观该模块的官网说明文档
from openpyxl import workbook
workbook()  # 创建excel文件
wb = workbook()
----------------------------------------------------------------------------------
wb.create_sheet # excel文件名. careate_sheet 
要修改的工作簿变量名.title = '新的工作簿名字'

"""创建excel文件里的工作簿"""
w1 = wb.create_sheet('工作簿1')
w2 = wb.create_sheet('工作簿2')
"修改默认的工作簿位置"
w3 = wb.create_sheet('好看的', 0)
把 好看的 工作簿 放在首位
"""修改工作簿名"""
w3.title = '丑'

"""添加内容"""
1.要添加内容的工作簿变量名.cell(row(行)=1, column(列)=2, value(值)='tank')
w3.cell(row = 1, column = 2, value = 'tank')
"""此方法可以添加数学公式eg:"""
w3.cell(row = 1, column = 2, value = '=sum(A1:A2)')


2.根据excel文件内的定位加数据
w3['A1'] = 123
"""此方法可以添加数学公式eg:"""
在需要计算的位置添加
w3['A4'] = '=sun(A1:A3)'

3.根据 append 方法写数据
w3.append(['学生名','家庭住址','手机号'])
# 先 添加表头字段
根据表头字段添加数据
w3.append(['tank','皖m',18088888888])
可以增加多行
w3.append(['tony','赣B',13333333333])

4.保存文件
wb.save(r'a.xlsx')

"""openpyxl 主要用于写入数据,表单操作不是很擅长如果需要做的话可以使用高级模块pandas
excel软件可以操作的数据最大只有10W作业,一旦超过 软件操作无效"""
需要使用pandas模块

改变pandas内的 DataFrame数据格式:
d2 = pandas.DataFrame(d1)

保存成excel:
d2.to_excel(r'2.xlsx')

标签:openpyxl,list,模块,pip,home,requests,data,下载
From: https://www.cnblogs.com/LiaJi/p/16828975.html

相关文章

  • python入门基础之第三方模块
    python入门基础之第三方模块第三方模块的下载与使用所谓第三方模块,就是别人写的模块,一般功能都比较强大。我们如果想使用第三方模块,第一次必须先下载后面才可以反复使用(......
  • 第三方模块下载及requests和openpyxl模块使用
    目录第三方模块的下载与使用网络爬虫模块之requests模块网络爬虫实战之爬取链家二手房数据自动化办公领域之openpyxl模块第三方模块的下载与使用第三方模块:别人写的模块......
  • py第三方模块
    今日内容概要第三方模块的下载与使用网络爬虫模块之requests模块网络爬虫实战之爬取链家二手房数据自动化办公领域之openpyxl模块第三方模块的扩展(模块叠模块)......
  • 爬虫、openpyxl、pandas
    目录今日内容概要今日内容详细作业详解第三方模块的下载与使用网络爬虫模块之requests模块网络爬虫实战之爬取链家二手房数据自动化办公领域之openpyxl模块homework今日内......
  • requests模块和openpyxl模块
    第三方模块的下载和使用1,第三方模块就是别人大神们已经写好的模块,功能特别强大。我们如果像使用第三方模块就先要进行下载。下载完成后才可以在python中直接调用2.下......
  • python进阶之路21 正则应用 第三方模块之requests模块 openpyxl模块 简易爬虫(panda
    作业讲解"""网络爬虫没有我们现在接触的那么简单 有时候页面数据无法直接拷贝获取 有时候页面还存在防爬机制弄不好ip会被短暂拉黑"""http://www.redbull.com.cn/ab......
  • 第三方模块的下载与使用 requests模块 openpyxl模块
    今日内容第三方模块下载操作第三方模块:别人写的魔魁啊一般情况下都很强大python中模块很多如果想使用第三方模块第一次必须先下载后面就可以反复使用=内置......
  • 23、python模块篇 第三方模块、requests模块、openpyxl模块
    目录一、第三方模块的下载与使用1、什么是第三方模块2、如何安装第三方模块方式一:pip工具方式二:pycharm中下载3、注意事项1、报错并有警告信息2、报错,提示关键字3、报错,无......
  • 第三方模块
    python第三方模块下载与安装第三方模块,也就是其他大佬写好的模块,它的功能一般是十分强大的,但是,在我们使用前需要进行下载,好处就是,第一次下载完毕后,我们就相当于将这个第......
  • 第三方模块下载与使用
    今日内容总结第三模块下载与使用第三方模块:别人写的模块一般情况下功能都特别强大我们如果想使用第三方模块第一次必须先下载后面才可以反复使用(等同于内置模......