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 相关文章推荐
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
Python切片知识解析
Mar 06 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
Python 查看文件的读写权限方法
Jan 23 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
python gdal安装与简单使用
Aug 01 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python多线程扫描端口(线程池)
Sep 04 Python
Python 列表的清空方式
Jan 13 Python
基于python纯函数实现井字棋游戏
May 27 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
Jan 26 Python
Pandas数据类型之category的用法
Jun 28 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
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
自己的js工具 Cookie 封装
2009/08/21 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
vue实现选中效果
2020/10/07 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
JavaScript实现筛选数组
2021/03/02 Javascript
Python中str is not callable问题详解及解决办法
2017/02/10 Python
python实现音乐下载的统计
2018/06/20 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
公务员保密承诺书
2014/03/27 职场文书
保研推荐信
2014/05/09 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
班主任寄语2015
2015/02/26 职场文书
暑假生活随笔
2015/08/15 职场文书
通知怎么写?
2019/04/17 职场文书
python not运算符的实例用法
2021/06/30 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL