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命令行参数解析OptionParser类用法实例
Oct 09 Python
详解如何使用Python编写vim插件
Nov 28 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
Python绘制频率分布直方图的示例
Jul 08 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
pycharm重命名文件的方法步骤
Jul 29 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
python中的垃圾回收(GC)机制
Sep 21 Python
解决pip安装的第三方包在PyCharm无法导入的问题
Oct 15 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
php empty函数判断mysql表单是否为空
2010/04/12 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
PDO::quote讲解
2019/01/29 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
js中时间格式化的几种方法
2018/07/22 Javascript
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
python实现三次样条插值
2018/12/17 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
治庸问责心得体会
2014/09/12 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书