首页 > 其他分享 >requests/openpyxl/pandas

requests/openpyxl/pandas

时间:2022-10-26 21:47:06浏览次数:86  
标签:wb4 openpyxl list 模块 pip home requests data pandas

目录

第三方模块requests/openpyxl/pandas

第三方模块的下载与使用

第三方模块:别人写的模块,一般功能特别强大

要使用第三方模块,首先要下载第三方模块后才可以反复使用(等同内置模块)

如何下载第三方模块?

1.pip工具

	注意每个解释器都有pip工具,如果电脑有多个版本的解释器的要注意,使用pip工具的时候一定要注意使用的是哪个pip,否则容易出现使用的A版解释器,使用的是B版解释器下的pip模块
	为了避免pip冲突  我们在使用的时候可以添加对应的版本号     配置系统环境变量 script
        python27      pip2.7
        python36      pip3.6
        python38      pip3.8
	下载第三方模块的句式
		pip install 模块名
	下载第三方模块临时切换仓库
		pip install 模块名 -i 仓库地址
	下载第三方模块指定版本(不指定默认是最新版)
		pip  install 模块名==版本号  -i 仓库地址

2.pycharm提供快捷方式

Settings>>>Project day20>>>Python Interpreter>>>+/双击>>>选择想要的模块名>>>版本型号>>>Install Package
image

3.第三方模块的下载可能会出现的问题

下载第三方模块可能会出现的问题
	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/

报错并有警示信息如下
image

网络爬虫模块之request模块

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

1.朝指定网址发送请求获取页面数据(等价于:浏览器地址栏输入网址回车访问)

import requests
res = requests.get('http://www.redbull.com.cn/about/branch')

2.获取bytes类型的网页数据(二进制) content

import requests
res = requests.get('http://www.redbull.com.cn/about/branch')
print(res.content)
"""
代码结果:
b'<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>\xe7\x95\x85\xe9\xa5\xae\xe6\xaf\x8f\
xe6\x97\xb6\xe6\xaf\x8f\xe5\x88\xbb</title><link rel="stylesheet" href="/statics/css/public.css">
<link rel="stylesheet" href="/statics/css/sub2.css"><script src="/statics/js/jquery/jquery-1.8.2.min.js" 
type="text/javascript"></script></head><body><div ..........
"""

3.获得字符串类型的网页数据 text 指定编码‘utf8'

import requests
res = requests.get('http://www.redbull.com.cn/about/branch')
res.encoding = 'utf8'  # 指定编码
print(res.text)  # 获取字符串类型的网页数据(默认按照utf8)

"""
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>畅饮每时每刻</title><link rel="stylesheet" 
href="/statics/css/public.css"><link rel="stylesheet" href="/statics/css/sub2.css"><script src="/statics/js/jquery/jquery-1.8.2.min.js"
 type="text/javascript"></script></head><body><div class="header"><div class="astrict"><div class="logo"><a 
						......
						参数说明:
						data-longitude:经度; data-latitude纬度;
						data-title:标题;
						data-site:门店地址
					--><li
						data-longitude='120.189905' data-latitude='30.263377'
						data-title='红牛杭州分公司'
"""

网络爬虫实战之爬取廉价二手房数据

import re

import requests

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)  # ['2室1厅 | 52.09平米 | 西南 | 精装 | 高楼层(共6层) | 1983年建 | 板楼',...

home_watch_list = re.findall('<div class="followInfo"><span class="starIcon"></span>(.*?)</div>', data)
print(home_watch_list)  # ['2人关注 / 27天以前发布', '29人关注 / 23天以前发布', ....

home_total_price_list = re.findall('<div class="totalPrice totalPrice2"><i> </i><span class="">(.*?)</span><i>万</i></div>', data)
print(home_total_price_list)  #  ['438', '420', '343', '469', '350'....

home_unit_price_list = re.findall( '<div class="unitPrice" data-hid=".*?" data-rid=".*?" data-price=".*?"><span>(.*?)</span></div>', data)
print(home_unit_price_list)  # ['84,086元/平', '56,635元/平', '74,211元/平',

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
        """ % data
        )

案例:当请求访问不允许时

res1 = requests.get('https://dig.chouti.com/',
                    headers ={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36"
                    })
# 添加user_agent 请求头即可  去愿网右键查看>>>>network>>>>loads.min.js>>>>Hearders>>>>User-Agent
print(res1.text)

自动化办公领域之openpyxl模块

1.excel 文件的后缀名问题

03 版本之前
	.xls
03 版本之后
	.xlsx

2.操作excel表格的第三方模块

xlwt往表格中写入数据,wlrd从表格中读取数据
	兼容所有版本的excel文件
openpyx1最近几年比较火热的操作excel表格的模块
	03版本之前的兼容性比较差
注意:还有很多操作excel表格的模块  甚至涵盖了上述的模块>>>>pandas

3.openpyxl操作

------>>>>:学会看官方文档

​ 1.引入模块 创建一个空文档

from openpyxl import Workbook
wb = Workbook()

wb.save(r'2022.xlsx')

​ 2.在一个excel文件内创建多个工作簿


wb1 = wb.create_sheet('学生信息名单')
wb2 = wb.create_sheet('演出名单')
wb3 = wb.create_sheet('演讲名单')

​ 3.还可以修改默认的工作簿位置

wb4 = wb.create_sheet('金牌3期',0)

​ 4.还可以二次修改工作簿名称

wb4.title = 'python24期'
wb4.sheet_properties.tabColor = '1072BA'  # 标题名颜色

​ 5.填写数据的方式

填写数据的方式1
	wb4['F4'] =888
填写数据的方式2
	wb4.cell(row=2,column=2,value='kiki')
	
填写数据的方式3
	wb4.append(['编号','姓名','年龄','爱好'])  # 表头字段
    wb4.append([1,'kiki',18,'music'])
    wb4.append([2,'kimi',19,'read'])
    wb4.append([3,'rose',20,'sing'])
    wb4.append([4,'jenny',28,'shopping'])
    wb4.append([5,'Swift',21,'tv'])
    wb4.append([6,'Tatay',25,'dance'])

​ 6.填写数学公式

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=7, value='=sum(A1:A4)')

​ 7.保存excel文件

wb.save(r'2022.xlsx')

"""  openpyxl  主要用于数据的写入  至于后续的表单操作它并不很擅长  如果想做更高级的模块pandas"""

上述的操作结果图如下
image

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

作业

1.思考如何爬取二手房指定页数的数据
2.学有余力可以简单研究一下pandas模块
3.购物车还没有掌握的 抓紧时间 最多一天了! 马上就是ATM项目

标签:wb4,openpyxl,list,模块,pip,home,requests,data,pandas
From: https://www.cnblogs.com/zhanglanhua/p/16830160.html

相关文章

  • pandas笔记(二)
    你也可以​​链接​​查看。内容包括:基本选择方式loc,iloc方式使用布尔作为索引......
  • 10月26日内容总结——第三方模块下载与requests、openpyxl模块
    目录一、第三方模块的下载与使用下载第三方模块的方式一:pip工具部分错误解决案例:下载第三方模块的方式二:pycharm中下载pip仓库地址二、网络爬虫模块之requests模块1、get()......
  • 第三模块的下载、requests模块、openpyxl模块
    第三方模块的下载安装第三方模块:别人写的模块一般情况下都特别强大我们如果想使用第三方模块第一次必须先下载后面才可以反复使用(等同于内置模块)下载第三模块的......
  • 第三方模块下载与使用,爬虫requests模块,自动化办公领域openpyxl模块,pandas初见
    目录昨日内容回顾第三方模块下载与使用,爬虫requests模块,自动化办公领域openpyxl模块,pandas初见今日内容概要今日内容详细第三方模块的下载与使用网络爬虫模块之requests模......
  • python模块之requents模块及excel操作模块openpyxl
    第三方模块的下载与使用第三方模块:别人写的模块一般情况下功能都特别强大我们如果想使用第三方模块第一次必须先下载后面才可以反复使用(等同于内置模块)下载......
  • request模块和openpyxl模块
    1.第三方模块的下载应由第三方模块:别人写的模块一般情况下功能都特别强大我们如果想使用第三方模块第一次必须先下载后面才可以反复使用(等同于内置模块)下载......
  • Python pandas DataFrame 行列使用常用操作
    Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量......
  • 第三方模块的下载和使用,requests模块,openpyxl模块
    第三方模块的下载和使用之前我们在刚学模块的时候说过模块有几个分类:1.内置模块2.自定义模块3.第三方模块今天我们就学习了第三方模块的下载与使用方法我们如果想要......
  • 第三方模块下载及requests和openpyxl模块使用
    目录第三方模块的下载与使用网络爬虫模块之requests模块网络爬虫实战之爬取链家二手房数据自动化办公领域之openpyxl模块第三方模块的下载与使用第三方模块:别人写的模块......
  • 爬虫、openpyxl、pandas
    目录今日内容概要今日内容详细作业详解第三方模块的下载与使用网络爬虫模块之requests模块网络爬虫实战之爬取链家二手房数据自动化办公领域之openpyxl模块homework今日内......