网络爬虫及openyxl模块

一、第三方模块简介

1.第三方模块的用处

    python之所以在这么多的编程语言中脱颖而出的优点是有众多的第三方库函数,可以更高效率的实现开发

2.第三方模块的使用

1.第三方模块必须下载才能使用
格式:pip install 模块名 -i 源地址
清华大学 :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.可在终端借助pip工具下载
格式:
下载第三方模块的句式:pip install 模块名
下载第三方模块临时切换仓库的句式:pip install 模块名 -i 仓库地址
下载第三方模块指定版本(不指定默认是最新版):pip install 模块名 == 版本号 -i 仓库地址
注:在下载解释器pip解释器工具的时候,电脑上有多个版本的解释器时一定要注意到底用的是哪一个,在使用或者添加的时候一定要看清楚对应的版本号
3.在pycharm中也可以直接下载

3.下载第三方模块的注意点

1.pip版本过低并有警告信息
# WARNING: You are using pip version 20.3.1;
原因是pip版本过低,只需要输入命令行更新模块就好了
python -m pip install --upgrade pip
2.报错含有Timeout关键字
说明当前计算机的网络不稳定,只需要换网或者程序执行几次即可
3.报错没有关键字
将关键字复制到百度进行搜索,然后进行解决
4.下载速度很慢
pip默认下载的仓库地址是国外的 python.org
我们可以切换下载的地址
pip install 模块名 -i 仓库地址
pip的仓库地址有很多 百度查询即可

二、网络爬虫基础实战

import requests
import re headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
res = requests.get('http://www.redbull.com.cn/about/branch', headers=headers)
data = res.text
res.encoding = 'utf-8' # 可以直接用utf-8对数据进行转码
with open(r'hn.html', 'wb') as f:
f.write(res.content)
# 1.获取所有的分公司名称
company_name_list = re.findall('<h2>(.*?)</h2>', data)
# 2.获取所有的分公司地址
company_addr_list = re.findall("<p class='mapIco'>(.*?)</p>", data)
# 3.获取所有的分公司邮箱
company_email_list = re.findall("<p class='mailIco'>(.*?)</p>", data)
# 4.获取所有的分公司电话
company_phone_list = re.findall("<p class='telIco'>(.*?)</p>", data)
# 5.将上述四个列表中的数据按照位置整合
res = zip(company_name_list, company_addr_list, company_email_list, company_phone_list)
# 6.处理数据(展示 保存 excel)
for i in res:
print("""
----------------------------公司名称:%s----------------------------
公司地址:%s
公司邮箱:%s
公司电话:%s
-----------------------------------------------------------------------------
""" % i)

三、openpyxl模块

1.openpyxl模块的作用
主要用于操作excel表格,实现自动化办公
2.Excel文件的后缀名的问题
03版本之前 ---->>> .xls
03版本之后 ---->>> .xlsx
3.操作excel表格的第三方模块
xlwt往表格写入数据、wlrd从表格读取数据
兼容性强
openpyxl最近几年比较火热的操作excel表格的模块
03版本之前的兼容性较差
实战:
from openpyxl import Workbook user_excel = Workbook() # 创建excel
grades = user_excel.create_sheet('成绩表') #成绩表
physique = user_excel.create_sheet('体质表') #体质表
name = user_excel.create_sheet('姓名表',0) #姓名表
physique.title = '体能表'
name.sheet_properties.tabColor = '8B0000' #修改姓名表的颜色
# 第一种写入方式
name['A1'] = '小明同学'
name['B1'] = '男'
# 第二种写入方式
name.cell(row=1, column=3, value='28')
name.cell(row=1, column=4, value='小菜鸡')
# 第三种写入方式(批量写入)
name.append(['小红同学', '女', '18', '貌美如花'])
name.append(['小天同学','男', '20', '一顿能吃'])
name.append(['小维同学', '男', 18, '多看书']) user_excel.save(r'user_excel.xlsx') # 保存文件

网络爬虫及openyxl模块的更多相关文章

  1. 04.Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  2. Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  3. 04,Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  4. 06.Python网络爬虫之requests模块(2)

    今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...

  5. Python网络爬虫之requests模块(2)

    session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 有些时候,我们在使用爬 ...

  6. Python网络爬虫之requests模块

    今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...

  7. Python网络爬虫之BeautifulSoup模块

    一.介绍: Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮 ...

  8. 网络爬虫之Selenium模块和Xpath表达式+Lxml解析库的使用

    实际生产环境下,我们一般使用lxml的xpath来解析出我们想要的数据,本篇博客将重点整理Selenium和Xpath表达式,关于CSS选择器,将另外再整理一篇! 一.介绍: selenium最初是一 ...

  9. 网络爬虫之requests模块的使用+Github自动登入认证

    本篇博客将带领大家梳理爬虫中的requests模块,并结合Github的自动登入验证具体讲解requests模块的参数. 一.引入:   我们先来看如下的例子,初步体验下requests模块的使用: ...

  10. 【网络爬虫入门03】爬虫解析利器beautifulSoup模块的基本应用

    [网络爬虫入门03]爬虫解析利器beautifulSoup模块的基本应用   1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.B ...

随机推荐

  1. ES6 学习笔记(十)Map的基本用法

    1 基本用法 Map类型是键值对的有序列表,而键和值都可以是任意类型.可以看做Python中的字典(Dictionary)类型. 1.1 创建方法 Map本身是一个构造函数,用来生成Map实例,如: ...

  2. SolidWorks2020下载安装中文版教程,你solidworks安装失败是什么原因?

    SW2020 WIN10 64位安装步骤: 1.先使用"百度网盘客户端"下载SW20S5_CN_x64安装包到电脑磁盘英文路径文件夹里,并鼠标右击进行解压缩,安装前先断开电脑网络, ...

  3. .NET实现堆排序

    堆排序及相关知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序.首先简单了解下堆结构. 堆 堆是具 ...

  4. DL账号密码生命周期信息流图

  5. 13、设计一个函数process,在你调用他的时候,每次实现不同的功能,输入a,b两个数, 第一次调用时找出a,b中的最大者。 第二次找出最小者,,第三次求两个数的和。

    /* 设计一个函数process,在你调用他的时候,每次实现不同的功能,输入a,b两个数, 第一次调用时找出a,b中的最大者. 第二次找出最小者,,第三次求两个数的和. */ #include < ...

  6. 【经验分享】配置用户通过Console口登录设备示例

    组网需求 当用户无法进行远程登录设备时,可通过Console口进行本地登录.缺省情况下,使用Console用户界面登录设备时只需要密码认证.为了防止非法用户登录设备,修改Console用户界面的认证方 ...

  7. JUC源码学习笔记6——ReentrantReadWriteLock

    系列文章目录和关于我 阅读此文需要有AQS独占和AQS共享的源码功底,推荐阅读: 1.JUC源码学习笔记1--AQS独占模式和ReentrantLock 2.JUC源码学习笔记2--AQS共享和Sem ...

  8. 【大数据工具选型】ETL&同步&调度工具比较-Kettle、Streamset,DataX、Sqoop、Canel,DolphinSchedule、Azkaban、Oozie、Airflow、Xxl Job

    〇.概述 1.常用资料 dolphinscheduler用户手册:https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/syst ...

  9. 乐观锁思想在JAVA中的实现——CAS

    更多技术干活尽在个人公众号--JAVA旭阳 前言 生活中我们看待一个事物总有不同的态度,比如半瓶水,悲观的人会觉得只有半瓶水了,而乐观的人则会认为还有半瓶水呢.很多技术思想往往源于生活,因此在多个线程 ...

  10. 干货 | 如何快速实现 BitSail Connector?

    简介 本文面向 BitSail 的 Connector 开发人员,通过开发者的角度全面的阐述开发一个完整 Connector 的全流程,快速上手 Connector 开发. 目录结构 首先开发者需要通 ...