首页 > 其他分享 >第三方模块

第三方模块

时间:2022-10-26 18:45:23浏览次数:48  
标签:list print 模块 pip home data 第三方

今日内容概要

目录

  • 第三方模块的下载与使用
  • 网络爬虫模块之requests模块
  • 网络爬虫模块之爬取链家二手房数据
  • 自动化办公领域之openpyxl模块

今日内容详情

第三方模块下载与使用

第三方模块:别人写的模块 一般情况下功能都很强大

如果想使用第三方模块 第一次必须先下载后面才可以反复使用(等同于内置模块)

第三方模块的下载

1.pip工具
  注意每个解释器都有pip工具 如果我们的电脑上有多个版本的解释器 那么在使用pip的时候一定要注意到底用的是哪一个 
  否则及其可能出现使用的是A版本解释器然后用B版本的pip下载模块
  为了避免pip冲突 我们在使用的时候可以添加对应的版本号
    python27   pip2.7
    python36   pip3.6
    python38   pip3.8
    下载第三方模块的句式
    pip install 模块名
    下载第三方模块临时切换仓库
    pip install 模块名 -i  仓库地址
    下载第三方模块指定版本(不指定默认就是最新版本)
    pip install 模块名 == 版本号 -i 仓库地址
  2.pycharm提供的快捷方式
    如下图所示

第三方模块可能会出现的错误

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/

网络爬虫模块之requests模块

requests 模块能够模拟浏览器发送网络请求

import requests 

朝指定网址发送请求获取页面数据(等价于:浏览器地址输入网址回车访问)
res = requests.get('http://www.redbull.com.cn/about/branch')
print(res.content)  # 获取bytes类型的网页数据(二进制)
res.encoding = 'utf8'  # 指定编码
print(res.text)  # 获取字符串类型的网页数据

网络爬虫模块之爬取链家二手房数据

import requests
import re


res = requests.get('https://sh.lianjia.com/ershoufang/pudong/')
# print(res) # <Response [200]>
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模块

1.excel文件的后缀名
03版本之前
.xls
03版本之后
.xlsx

2.操作excel表格的第三方模块
xlwt往表格中写入数据、wlrd从表格中读取数据
  兼容所有版本的excel文件
  openpyxl近几年比较火热的操作excel表格的模块
  03版本之前的兼容性较差
 ps:还有很多操作excel表格的模块 甚至涵盖了上述的模块>>>:pandas
3.openpyxl操作
from openpyxl import Workbook
wb = Workbook()  # 创建一个excel文件
wb1 = wb.create_sheet('学生名单')  # 在一个excel文件内创建多个工作
wb2 = wb.create_sheet('教师名单')
wb3 = wb.create_sheet('学校名单', 0)  # 修改默认的工作簿位置
wb3.title = '校园成绩排行榜'
wb3.sheet_properties.tabColor = "1072BA"  # 修改颜色
# 填写数据的方式1
# wb4['F4'] = 666
# 填写数据的方式2
# wb4.cell(row=3, column=1, value='jason')
# 填写数据的方式3
wb3.append(['编号', '姓名', '年龄', '爱好'])  # 表头字段
wb3.append([1, 'jason', 18, 'read'])
wb3.append([2, 'kevin', 28, 'music'])
wb3.append([3, 'tony', 58, 'play'])
wb3.append([4, 'oscar', 38, 'ball'])
wb3.append([5, 'jerry', 'ball'])   # 少了就会自动补齐
wb3.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')
4.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')
ps:excel软件正常可以打开操作的数据集在10万左右 一旦数据集过大 软件操作几乎无效
       需要使用代码操作>>>:pandas模块

标签:list,print,模块,pip,home,data,第三方
From: https://www.cnblogs.com/zjl248/p/16829603.html

相关文章

  • MILIANKE-CZ01-7010/7020400-核心模块硬件手册(ZYNQ)
    1产品概述    自2017年MLK-CZ01-7010/7020-400(MZ7XCORE400)系列开发平台发布以来,该系列开发平台和核心模块经过多次迭代升级,在工业自动化、水利电力控制设备、医疗图......
  • 第三方模块
    目录一.第三方模块的下载与使用二.网络爬虫模块之requests模块三.网络爬虫实战之爬取链家二手房数据四.自动化办公领域之openpyxl模块1.excel文件的后缀名问题2.操作excel......
  • VM系列振弦传感器读数模块常见问题
    1、计算机无法与模块通讯应通过以下步骤逐一排查问题(1)观察振弦模块状态灯是否正常闪烁,若不正常则应基本断定是模块问题,此时应尝试对模块进行出厂参数恢复。在高速测量时,因......
  • Python当中的线程模块threading【多测师】
    在Python语言中,对线程的操作使使用的是threading,下面首先通过一个案例来测试进程和线程的访问速度,首先见测试代码:#!/usr/bin/envpython#-*-coding:utf-8-*-importreque......
  • 齐博x1模块后期要加参数的方法
    频道或插件在后期如果要追加参数的话,可以叫用户在后台开发者设置那里手工添加,也可以程序那里强制添加.大家可以参考评论模块的\plugins\comment\admin\Setting.php$th......
  • python基础re模块与正则
    正则表达式前戏正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r引导案例:手机号校验......
  • ES6的模块化
    ES6的模块化模块的思想,将对应的功能代码封装为一个模块(js代码css代码html代码)。想要使用别人就导入,想要给别人用就导出。复用。模块化的常用的模式amd(在对应的加载......
  • 正则表达式,re模块
    正则表达式正则表达式前戏我们日常生活中有很多地方都能用到正则表达式比如说我们登录的时候输的手机号其实内部需要校验是否是11位纯数字,是不是13,15,17,18,19开头的......
  • re模块和正则表达式
    内置模块之re模块re模块可以配合正则表达式使用。在很多网页中,要求输入手机号、邮箱等,会在我们还没输完的情况下就提示我们在“请输入正确的手机号”“邮箱格式不正确”......
  • web服务器5模块化
    自定义模块//console.log(module)//自定义模块中,默认情况,module.exports={}//空对象constname='zs'//挂载方法module.exports.usename=name//挂载方法......