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获取标准北京时间的方法
Mar 24 Python
Python合并多个装饰器小技巧
Apr 28 Python
python自动zip压缩目录的方法
Jun 28 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
pandas DataFrame 交集并集补集的实现
Jun 24 Python
通过实例解析Python return运行原理
Mar 04 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
对python中list的五种查找方法说明
Jul 13 Python
十个Python自动化常用操作,即拿即用
May 10 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 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的类树(支持无限分类)
2006/10/09 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
原生JS和jQuery版实现文件上传功能
2016/04/18 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
python中使用print输出中文的方法
2018/07/16 Python
python 杀死自身进程的实现方法
2019/07/01 Python
django 单表操作实例详解
2019/07/30 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
pytorch 修改预训练model实例
2020/01/18 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
外贸业务员岗位职责
2013/11/24 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
暑期培训心得体会
2014/09/02 职场文书
党建工作整改措施
2014/10/28 职场文书