作者:捕鱼达人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)
推荐阅读
根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ...
[详细]
蜡笔小新 2024-12-26 10:42:40
This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ...
[详细]
蜡笔小新 2024-12-27 19:58:25
本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ...
[详细]
蜡笔小新 2024-12-27 19:31:05
本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ...
[详细]
蜡笔小新 2024-12-27 13:55:14
在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ...
[详细]
蜡笔小新 2024-12-27 12:17:16
本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ...
[详细]
蜡笔小新 2024-12-27 11:10:05
本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ...
[详细]
蜡笔小新 2024-12-27 10:18:13
最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ...
[详细]
蜡笔小新 2024-12-26 11:03:58
本文介绍如何使用Perl编写一个简单的爬虫,从丁香园网站获取意大利的新冠病毒感染情况。通过LWP::UserAgent模块模拟浏览器访问并解析网页内容,最终提取所需数据。 ...
[详细]
蜡笔小新 2024-12-25 12:06:26
本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ...
[详细]
蜡笔小新 2024-12-28 09:46:23
Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ...
[详细]
蜡笔小新 2024-12-28 08:54:34
本文详细介绍了如何使用Python的re库进行正则表达式匹配,特别是针对URL中的特定参数提取。适合初学者理解和应用。 ...
[详细]
蜡笔小新 2024-12-24 20:00:47
该工具专为获取百度搜索引擎的结果页面中的网址链接而设计,能够解析并转换为原始URL。通过正则表达式匹配技术,精准提取网页链接,并提供详细的使用说明和下载资源。 ...
[详细]
蜡笔小新 2024-12-24 18:46:35
本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ...
[详细]
蜡笔小新 2024-12-23 19:05:02
HTML很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单。在这篇文章中,我收集了10个超有用的HTML代码片段,有HTML5启动模板、空白图片、打电话和发短信、自动完 ...
[详细]
蜡笔小新 2024-12-23 15:26:50
捕鱼达人2602914975
这个家伙很懒,什么也没留下!