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实现在Linux系统下更改当前进程运行用户
Feb 04 Python
python模块smtplib学习
May 22 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
python+openCV利用摄像头实现人员活动检测
Jun 22 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
屏蔽Django admin界面添加按钮的操作
Mar 11 Python
基于plt.title无法显示中文的快速解决
May 16 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
解决python3中os.popen()出错的问题
Nov 19 Python
python中的getter与setter你了解吗
Mar 24 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
javascript开发中因空格引发的错误
2010/11/08 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
node.js处理前端提交的GET请求
2019/08/30 Javascript
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
Python脚本实现格式化css文件
2015/04/08 Python
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
python-numpy-指数分布实例详解
2019/12/07 Python
django自定义模板标签过程解析
2019/12/14 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
keras之权重初始化方式
2020/05/21 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
住房租房协议书
2014/08/20 职场文书
我爱家乡演讲稿
2014/09/12 职场文书