python正则表达式【电影天堂爬取】
正则表达式
import re
result = re.match("\w{4,20}@163\.com$","hello@163.com")
if result:print("match success!")print("match content:", result.group())
else:print("math fail!")
分组 |
import re result = re.match("^[0-9][0-9]$|^100$","77") #正则表达式匹配0~100之间的数字 |左右任意一个满足即可匹配 if result:print("match success!")print("match content:", result.group()) else:print("math fail!")
整体()
(abc)将括号中的字符作为一个整体进行匹配分组
分组从1开始计数,第一个小括号为组1
\w{4,20}@(163|126|qq|sina)\.com$ #匹配各种邮箱
提取区号和电话号码
import re result = re.match("(\d{3,4})-(\d{7,8})","023-12345678") if result:print("match success!")print("区号:", result.group(1)) #分组print("电话号码:", result.group(2)) # 分组 else:print("math fail!")
引用分组 \
注意转义字符
import re result = re.match("<([a-zA-Z0-9]+)><([a-zA-Z0-9]+)>.*</\\2></\\1>","<div><h1>this is a string</h1></div>") #引用第一个分组,表示与第一组内容一致 \是转义字符 if result:print("match success!")print("match content:", result.group())else:print("math fail!")
分组起别名(?P<name>)
分组引用别名(?P=name)
import re result = re.match("<(?P<name1>[a-zA-Z0-9]+)><(?P<name2>[a-zA-Z0-9]+)>.*</(?P=name2)></(?P=name1)>","<div><h1>this is a string</h1></div>") #引用第一个分组,表示与第一组内容一致 \是转义字符 if result:print("match success!")print("match content:", result.group())else:print("math fail!")
re.findall()
返回满足正则条件的所有内容,是一个列表
import re result = re.findall("\d+","阅读次数999,转发次数888,评论次数777") #返回一个列表 if result:print("match success!")print("match content:", result) else:print("math fail!")
re.search()
找到第一个匹配即返回 类似find函数
re.match()
从字符串0号位置开始匹配,如果0号位置不满足即返回失败 即使从1号位可以匹配也是匹配失败
re.sub()
用一个新的字符串替换原来内容中满足正则表达式的内容
import re result = re.sub("\d+","1000","阅读次数999,转发次数888,评论次数777") # 把字符串中所有的正则替换为1000,返回替换后的内容 if result:print("match success!")print("match content:", result) else:print("math fail!")
re.split()
分割内容
import re result = re.split(":| ","info:hello@163.com tom jerry") if result:print("match success!")print("match content:", result) else:print("math fail!")
python默认是贪婪匹配,即总是尝试匹配尽可能多的字符
在+ * {} ?
后面加?
变成非贪婪,即只匹配一次就结束
获取电影天堂的电影
r.encoding = 'utf-8'
import re
import requests
def get_url(url):try:kv = {"user-agent":"Mozilla/5.0"}r = requests.get(url,headers=kv)r.raise_for_status()r.encoding = 'gb2312'demo = r.textlinks = re.findall("ulink\">(.*?)</a>", demo)for link in links:print(link)except Exception as e:print(e)if __name__ == '__main__':head = "https://www.ygdy8.net/"url = "https://www.ygdy8.net/html/gndy/dyzz/list_23_2.html"get_url(url)
python正则表达式【电影天堂爬取】相关推荐
- Python小工具-电影天堂爬取电影下载链接
import requests import bs4# 获取单独的url def movie_info(url):'''内容标签:<div id="Zoom">下载链接 ...
- 基于Python的电影票房爬取与可视化系统的设计与实现
博主介绍:✌全网粉丝30W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,博客之星.掘金/华为云/阿里云/InfoQ等平台优质作者.专注于Java技术领域和毕业项目实战✌
- Python爬虫入门(爬取豆瓣电影信息小结)
Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...
- python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程
python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程 前言 一丶整体思路 二丶遇到的问题 三丶分析URL 四丶解析页面 五丶写入文件 六丶完整代码 七丶最后 前言 大家好我是墨绿 头顶总 ...
- Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)
在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...
- Python实战之如何爬取猫眼电影排行?本文详解
本节中,我们利用requests库和正则表达式来抓取猫眼电影TOP100的相关内容.requests比urllib使用更加方便,而且目前我们还没有系统学习HTML解析库,所以这里就选用正则表达式来作为 ...
- python 爬虫实例 电影-Python爬虫教程-17-ajax爬取实例(豆瓣电影)
Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...
- python爬取豆瓣排行榜电影(静态爬取)(二次爬取)
目录 python爬取豆瓣排行榜电影(静态爬取) 获取网站url 获取网站headers get请求访问url BeautifulSoup解析网站 爬取html数据 完整代码 python爬取豆瓣排行 ...
- 爬虫入门——电影top250爬取
爬虫入门(自用) 第一篇 Python 爬虫入门之 电影top250爬取 文章目录 爬虫入门(自用) 前言 一.前置知识 requests库 正则表达式(re库) 二.使用步骤 1.引入库 2.小试牛 ...
最新文章
- 机房重构——报表问题总结
- 神器与经典--sp_helpIndex
- 被Python「苦虐」的日子太惨了!
- 哈尔特征(Haar-like features)
- 【震惊】史上最牛的市场推广/营销
- 快收下这份“数据库运作实践”秘制口诀
- Cocos2d-html5 2.2.2的屏幕适配方案
- httpd配置ResponseHeader
- Visual studio 2013 连接MySQL数据库的设置。
- 关于64位win7环境下VS连接oracle数据库的问题
- 声明 styleable 与声明 attr 的区别
- 微信小程序开发的完整人性化版攻略
- 瑞友虚拟化系统搭建服务器,瑞友云电脑虚拟化系统 | 瑞友天翼-应用虚拟化|远程接入|桌面虚拟化|国内虚拟化整体解决方案领导者...
- 百词斩不复习_不背单词好用还是百词斩好用?
- html5怎么给视频加字幕,怎么给视频添加文字 怎么用Premiere Pro cs6给视频中添加文字...
- 小米平板1android驱动,小米平板3usb驱动
- 计算机上e盘拒绝访问,E盘拒绝访问怎么办?Win7系统E盘拒绝访问的方法
- hadoop性能测试
- Linux的20个常用命令
- linux关闭进程命令kill
热门文章
- 2020年第十一届蓝桥杯决赛JAVA B G题“皮亚诺曲线距离“
- python cs开发框架_用Python编写一个简单的CS架构后门的方法
- Makefile的宏
- 用体渲染的方法在Unity中渲染云(18/4/4更新)
- 私域运营的两点经验分享
- 用nodejs链接mysql并从其中提取数据
- 凌度多功能后视镜行车记录仪HS850B 多重守护行车安全
- 秋招总结——字节跳动,三轮面试,四个小时,灵魂拷问,结局我哭了但下次还敢
- 大病不出县,移动云助力彰武县打造“县域医共体”示范点
- 声明式编程比命令式编程更好吗? NO! 你可能陷入了声明式编程的迷幻中!