Python基础第三方模块requestsopenpyxl

2022-11-06 21:02:17
目录
一、第三方模块的下载与使用1、什么是第三方模块2、如何安装第三方模块方式一:pip工具方式二:pycharm中下载3、注意事项1、报错并有警告信息2、报错,提示关键字3、报错,无关键字4、下载速度慢二、网络爬虫之requests模块1、简介2、使用方法1.关键词:get( )2.关键词:encoding3.关键词:content4.关键词:text5.关键词:url6.关键词:status_code三、网络爬虫实战1、爬取链家网站房屋信息四、openpyxl模块1、简介2、创建文件相关2、1.创建excel文件2、2.创建工作簿2、3.修改工作簿名称2、4.修改工作簿颜色2、5.查看文件所有工作簿3、写入内容相关3、1.写入/修改内容3、2.一次写入多个数据4、读取内容相关4、1.访问多个单元格4、2.获取单元格值5、保存文件6、打开文件6、1.读取工作簿数据

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

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>

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

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

    注意事项:

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

    2、Manage Repositories可配置仓库地址

    3、注意事项

    1、报错并有警告信息

    WARNING:>

      原因在于pip版本过低 只需要拷贝后面的命令执行更 新操作即可

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

        更新完成后再次执行下载第三方模块的命令即可

        2、报错,提示关键字

        Timeout

          提示该关键字说明当前计算机网络不稳定,只需更换网络或等待网络稳定后下载即可

          3、报错,无关键字

          面向百度搜索

            只需拷贝报错信息到百度搜索即可通常都是需要用户提前准备好一些下载环境才可以顺利下载

            4、下载速度慢

            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模块

              1、简介

                requests模块是一个第三方模块,需要在额外进行安装它是一个用于网络请求的模块,主要用来向浏览器发送请求

                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、简介

                  openpyxl模块属于第三方模块,是一个在>

                  注意事项:

                  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(>

                    作用:

                      使用 openpyxl 创可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写建文件。只需导入Workbook类可以创建多个工作簿,并且可按照顺序排列

                      代码用法:

                      导入模块:
                      	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

                        作用:

                          用来给工作簿背景修改颜色,需要用到RGB色域

                          代码用法:

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

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

                          关键词:sheetname

                          作用:

                            查看exexl文件下所有的工作簿,返回的是一个列表

                            代码用法:

                            导入模块:
                            	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( )

                              作用:

                                可以通过工作簿'点'的方式,在后方参数内填写内容的位置,来修改内容row:行colum:列value:值(对应位置的数据)

                                代码用法:

                                导入模块:
                                	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

                                  作用:

                                    使用for循环的方式,可以一次获取整行文本数据值

                                    代码用法:

                                    导入模块:
                                    	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)  # 打印单元格的值

                                        以上就是Python基础第三方模块requests openpyxl的详细内容,更多关于Python模块requests openpyxl的资料请关注易采站长站其它相关文章!