python第三方模块下载与安装
第三方模块,也就是其他大佬写好的模块,它的功能一般是十分强大的,但是,在我们使用前需要进行下载,好处就是,第一次下载完毕后,我们就相当于将这个第三方模块转变为了内置模块,以后就可以直接导入调用了
第三方模块下载的方法大致分为两种
1.pip工具
每个版本的python解释器都有其对应的pip工具,在使用pip工具进行下载时,我们需要注意的是,类似于多版本共存的问题,使用某一个版本的pip工具,只能下载对应该版本解释器的第三方模块,也就是说我们使用不同版本pip工具下载到的第三方模块只可以在对应版本的解释器中可以调用,为了避免这种问题,我们先要搞清楚自己使用的是那个版本的解释器的pip工具,然后为了避免pip工具在调用时冲突,我们可以复制一份当前解释器下的pip工具并在重命名时添加对应的版本号
python27 pip2.7
python36 pip3.6
python38 pip3.8在cmd工具中调用pip工具下载第三方模块时,需要用固定的句式
pip install 模块名
在下载时我们可以切换下载该模块文件的仓库
pip install 模块名 - i 仓库地址
我们也可以指定所需第三方模块的版本,如果不指定的话默认为下载最新版本
pip install 模块名==版本号 - i 仓库地址
下载第三方模块可能会出现的问题
1.报错并有警告信息
WARNING: You are using pip version 20.2.1;
原因在于pip版本过低 只需要拷贝后面的命令执行更新操作即可
d:\python38\python.exe -m pip install --upgrade pip
更新完成后再次执行下载第三方模块的命令即可
2.报错并含有Timeout关键字
说明当前计算机网络不稳定 只需要切换网络或者重新执行几次即可
3.报错并没有关键字
面向百度搜索
pip下载XXX报错:拷贝错误信息
通常都是需要用户提前准备好一些环境才可以顺利下载
4.下载速度很慢
pip默认下载的仓库地址是国外的 python.org
我们可以切换下载的地址
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/2.pycharm提供的快捷方式
在pycharm中为我们提供了下载第三方模块的快捷方式
点击file-->settings然后根据图片中内容操作即可,下载旁边的Manage repositories是在较老的版本中进行镜像源的添加的
新版本中取消了该按钮
那么新版本如何添加镜像源呢
首先点击红框中的按钮
然后点击齿轮图标
在弹出页面中点击加号,输入镜像源名称,输入镜像源地址,点击添加即可
镜像源添加完毕
就可以按照上面的方法添加第三方模块了
网络爬虫模块之requests模块
requests模块能够模拟浏览器发送网络请求
import requests
朝指定网址发送请求获取页面数据(等价于:浏览器地址栏输入网址回车访问)
res = requests.get('http://www.redbull.com.cn/about/branch')
print(res.content) 获取bytes类型的网页数据(二进制)
res.encoding = 'utf8' 指定编码
print(res.text) 获取字符串类型的网页数据(默认按照utf8)
网络爬虫实战之爬取链家二手房数据
import requests import re res = requests.get('https://sh.lianjia.com/ershoufang/pudong/') # print(res.text) data = res.text 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) # print(home_name_list) 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) # print(home_street_list) home_info_list = re.findall('<div class="houseInfo"><span class="houseIcon"></span>(.*?)</div>', data) # print(home_info_list) home_watch_list = re.findall('<div class="followInfo"><span class="starIcon"></span>(.*?)</div>', data) # print(home_watch_list) home_total_price_list = re.findall( '<div class="totalPrice totalPrice2"><i> </i><span class="">(.*?)</span><i>万</i></div>', data) # print(home_total_price_list) home_unit_price_list = re.findall( '<div class="unitPrice" data-hid=".*?" data-rid=".*?" data-price=".*?"><span>(.*?)</span></div>', data) # print(home_unit_price_list) 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) with open(r'home_data.txt','w',encoding='utf8') as f: 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)
自动化办公领域之openpyxl模块
标签:wb4,list,模块,pip,home,data,第三方 From: https://www.cnblogs.com/lf17603472426/p/16829740.html1.excel文件的后缀名问题
03版本之前
.xls
03版本之后
.xlsx
2.操作excel表格的第三方模块
xlwt往表格中写入数据、wlrd从表格中读取数据
兼容所有版本的excel文件
openpyxl最近几年比较火热的操作excel表格的模块
03版本之前的兼容性较差ps:还有很多操作excel表格的模块 甚至涵盖了上述的模块>>>:pandas
from openpyxl import Workbook # 创建一个excel文件 wb = Workbook() # 在一个excel文件内创建多个工作簿 wb1 = wb.create_sheet('学生名单') wb2 = wb.create_sheet('舔狗名单') wb3 = wb.create_sheet('海王名单') # 还可以修改默认的工作簿位置 wb4 = wb.create_sheet('富婆名单', 0) # 还可以二次修改工作簿名称 wb4.title = '高富帅名单' wb4.sheet_properties.tabColor = "1072BA" # 填写数据的方式1 # wb4['F4'] = 666 # 填写数据的方式2 # wb4.cell(row=3, column=1, value='jason') # 填写数据的方式3 wb4.append(['编号', '姓名', '年龄', '爱好']) # 表头字段 wb4.append([1, 'jason', 18, 'read']) wb4.append([2, 'kevin', 28, 'music']) wb4.append([3, 'tony', 58, 'play']) wb4.append([4, 'oscar', 38, 'ball']) wb4.append([5, 'jerry', 'ball']) wb4.append([6, 'tom', 88,'ball','哈哈哈']) # 填写数学公式 # wb4.cell(row=1, column=1, value=12321) # wb4.cell(row=2, column=1, value=3424) # wb4.cell(row=3, column=1, value=23423432) # wb4.cell(row=4, column=1, value=2332) # wb4['A5'] = '=sum(A1:A4)' # wb4.cell(row=8, column=3, value='=sum(A1:A4)') # 保存该excel文件 wb.save(r'111.xlsx') """ openpyxl主要用于数据的写入,至于后续的表单操作它并不是很擅长,如果想做需要更高级的模块pandas import pandas data_dict = { "公司名称": comp_title_list, "公司地址": comp_address_list, "公司邮编": comp_email_list, "公司电话": comp_phone_list } # 将字典转换成pandas里面的DataFrame数据结构 df = pandas.DataFrame(data_dict) # 直接保存成excel文件 df.to_excel(r'pd_comp_info.xlsx') excel软件正常可以打开操作的数据集在10万左右,一旦数据集过大,软件操作几乎无效 需要使用代码操作>>>:pandas模块 """