python爬虫 正则表达式解析


Posted in Python onSeptember 28, 2019

这篇文章主要介绍了python爬虫 正则表达式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

- re.I # 忽略大小写
- re.M # 多行匹配,将正则作用到源数据的每一行
- re.S # 单行匹配,将正则作用到整个源数据,输出一个整体字符串(包括换行符也打印)

string = '''fall in love with you
i love you very much
i love she
i love her'''
# 去除以i开头的每一行数据
re.findall('^i.*',string,re.M)

['i love you very much', 'i love she', 'i love her']

#匹配全部行
string1 = """细思极恐
你的队友在看书
你的敌人在磨刀
你的闺蜜在减肥
隔壁老王在练腰
"""
re.findall('.*',string1,re.S)

['细思极恐\n你的队友在看书\n你的敌人在磨刀\n你的闺蜜在减肥\n隔壁老王在练腰\n', '']

爬取糗事百科中所有的图片进行保存

import requests
import re
import urllib
import os

url = 'https://www.qiushibaike.com/pic/page/%d/?s=5170552'
# 自定义请求头信息
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'
}
# 判断是否存在名为qiutu的文件夹,如果不存在则创建文件夹
if not os.path.exists('./qiutu'):
  os.mkdir('./qiutu')
# 手动输入开始页,结束页
start_page = int(input('start>>>'))
end_page = int(input('end>>>'))

for page in range(start_page,end_page+1):
# 按照每页url形式拼接指定url
  new_url = format(url%page)

# 发起请求
  page_text = requests.get(url=new_url,headers=headers).text

# 使用正则找出page_text页面中所有图片url
  img_url_list = re.findall('<div class="thumb">.*?<img src="(.*?)" alt=.*?</div>',page_text,re.S)

# 给每一个图片url添加https协议头
  for img_url in img_url_list:
    img_url = 'https:' + img_url


 # 将图片url切割去除图片名称,作为存储时图片的名称
    img_name = img_url.split('/')[-1]
    img_path = 'qiutu/' + img_name、


 # 对图片做持久化存储
    urllib.request.urlretrieve(url=img_url,filename=img_path)
    print(img_path,'下载成功')
print('over')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python检测生僻字的实现方法
Oct 23 Python
Python实现的多线程http压力测试代码
Feb 08 Python
关于Python 3中print函数的换行详解
Aug 08 Python
Python logging管理不同级别log打印和存储实例
Jan 19 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
浅谈Python 列表字典赋值的陷阱
Jan 20 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
python 串口读取+存储+输出处理实例
Dec 26 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
python操作xlsx格式文件并读取
Jun 02 Python
python爬虫 Pyppeteer使用方法解析
Sep 28 #Python
python安装scipy的步骤解析
Sep 28 #Python
python网络爬虫 CrawlSpider使用详解
Sep 27 #Python
python numpy存取文件的方式
Apr 01 #Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 #Python
使用Fabric自动化部署Django项目的实现
Sep 27 #Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 #Python
You might like
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
php开发文档 会员收费1期
2012/08/14 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
如何提高数据访问速度
2016/12/26 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
Python import自定义模块方法
2015/02/12 Python
深入理解Python中变量赋值的问题
2017/01/12 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
全球度假村:Club Med
2017/11/27 全球购物
护理职业生涯规划书
2014/01/24 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
党员四风剖析材料
2014/08/27 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
清洁员岗位职责
2015/02/15 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书