作者:捕鱼达人2602914975 | 来源:互联网 | 2023-05-19 02:02
Day02笔记
1、解析模块
1、数据的分类
1、结构化数据
特点:有固定的格式,如:HTML、XML
2、非结构化数据
示例:图片、音频、视频,这类数据以二进制方式存储
2、正则表达式 re
1、使用流程
1、创建编译对象 :p = re.compile('正则表达式')
2、对字符串进行匹配 :r = p.match('字符串')
3、获取匹配结果 :r.group()
2、常用方法
1、match(html) : 字符串开头的第1个,返回对象
2、search(html): 从开始往后找,匹配第1个,返回对象
3、findall(html) : 所有全部匹配,返回列表
3、表达式
. : 匹配任意字符(不包括\n)
\d : 数字
\s : 空白字符
\S : 非空白字符
\w : 字母、数字、_
[...] : 包含[]内容 :A[BCD]E --> ABE ACE ADE
* : 0次或多次
? : 0次或1次
+ : 1次或多次
{m}: m次
{m,n} : m-n次, AB{1,3}C ->ABC ABBC ABBBC
4、贪婪匹配和非贪婪匹配
贪婪匹配(.*) : 在整个表达式匹配成功的前提下,尽可能多的匹配*
非贪婪匹配(.*?) :在整个表达式匹配成功的前提下,尽可能少的匹配*
见 :01_贪婪匹配和非贪婪匹配示例.py
5、findall()的分组
见 :02_findall分组示例.py
6、练习 见:03_findall分组练习.py
Two tigers two tigers run fast
Small while rabbit white and white
第1步:
[("tiger","Two tigers .."),("rabbit","Small rabbit...")]
第2步:
动物名称:tiger
动物描述:Two tigers ...
3、内涵段子脑筋急转弯抓取
见:04_内涵8脑筋急转弯.py
网址 :http://www.neihan8.com
1、步骤
1、找URL规律
第1页:https://www.neihan8.com/njjzw/
第2页:https://www.neihan8.com/njjzw/index_2.html
2、用正则匹配出题目和答案
3、写代码
1、发请求
2、用正则解析
.*?class="desc">(.*?)
3、保存
4、猫眼电影top100榜单,存到csv文件里
见 :06_猫眼电影top100.py
网址 :猫眼电影 - 榜单 - top100榜
目标 :抓取电影名、主演、上映时间
1、知识点
1、csv模块的使用流程
1、打开csv文件
with open("测试.csv","a",newline="") as f:
2、初始化写入对象
writer = csv.writer(f)
3、写入数据(列表)
writer.writerow([列表])
2、准备工作
1、找URL规律
第1页:http://maoyan.com/board/4?offset=0
第2页:http://maoyan.com/board/4?offset=10
第n页:offset=(n-1)*10
2、写正则表达式
.*?title="(.*?)".*?class="star">(.*?).*?class="releasetime">(.*?)
3、写代码
2、数据持久化存储
1、存入mongodb数据库(pymongo模块回顾)
# 创建连接对象
conn = pymongo.MongoClient("localhost",27017)
# 创建数据库对象
db = conn.库名
# 创建集合对象
myset = db.集合名
# 插入数据
myset.insert(字典)
>>>show dbs
>>>use 库名
>>>show collections
>>>db.集合名.find().pretty()
>>>db.dropDatabase()
>>>db.集合名.count()
2、存入MySQL数据库(pymysql模块回顾)
3、requests模块
1、安装
Anaconda Prompt : conda install requests
Windows cmd : python -m pip install requests
## python -m 是以管理员身份执行pip安装命令
Ubuntu : sudo pip3 install requests
2、常用方法
1、requests.get(url,headers=headers)
发起请求,并获取响应对象
2、响应对象res的属性
1、res.text : 字符串
2、res.content : 字节流
3、res.encoding: 指定字符编码 (ISO-8859-1)
## res.encoding = "utf-8"
4、res.status_code : 响应码
5、res.url : 实际数据的URL
3、get()使用场景
1、没有查询参数
res = requests.get(url,headers=headers)
2、有查询参数(params)
res = requests.get(url,params=params,headers=headers)
推荐阅读
-
Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ...
[详细]
蜡笔小新 2024-10-31 12:02:01
-
本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ...
[详细]
蜡笔小新 2024-10-31 11:43:45
-
-
SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ...
[详细]
蜡笔小新 2024-10-30 11:16:15
-
如何利用Apache与Nginx高效实现动静态内容分离 ...
[详细]
蜡笔小新 2024-10-29 21:47:55
-
结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ...
[详细]
蜡笔小新 2024-10-31 18:43:36
-
随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ...
[详细]
蜡笔小新 2024-10-31 14:06:06
-
ylbtech-进销存管理解决方案:进销存管理,即购销链管理,涵盖企业从采购(进)、库存(存)到销售(销)的全流程动态管控。其中,“进”涉及从市场询价、供应商选择、采购执行直至货物入库及支付流程;“销”则包括产品定价、客户报价、订单处理及销售出库等环节。该解决方案旨在通过信息化手段,提升企业运营效率,优化库存结构,增强市场响应速度。 ...
[详细]
蜡笔小新 2024-10-31 12:25:46
-
Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ...
[详细]
蜡笔小新 2024-10-31 12:18:21
-
随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ...
[详细]
蜡笔小新 2024-10-31 11:23:01
-
本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ...
[详细]
蜡笔小新 2024-10-29 08:22:46
-
掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ...
[详细]
蜡笔小新 2024-10-28 18:26:22
-
Windows环境下详细教程:如何搭建Git服务 ...
[详细]
蜡笔小新 2024-10-28 17:31:26
-
在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ...
[详细]
蜡笔小新 2024-10-27 17:49:23
-
在Python编程中,若需生成SQL语句中的`CURRENTTIMESTAMP`命令而不希望其带有默认的字符串引号,可以通过直接使用变量或字符串拼接的方法来实现。此方法能有效避免因字符串自带引号而导致的SQL语法错误,确保命令正确执行。 ...
[详细]
蜡笔小新 2024-10-26 17:00:47
-
我正致力于利用Azure Functions和System.IO.Compression库,将大量文件高效地压缩并存储到Azure Blob容器中。这种方法不仅提高了存储效率,还优化了数据管理流程。通过这种方式,可以显著减少存储成本,并提升数据访问速度。 ...
[详细]
蜡笔小新 2024-10-26 11:01:06
-
捕鱼达人2602914975
这个家伙很懒,什么也没留下!