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写的一个文本编辑器
Jan 23 Python
linux 下实现python多版本安装实践
Nov 18 Python
Python fileinput模块使用介绍
Nov 30 Python
python爬虫使用cookie登录详解
Dec 27 Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 Python
python中的协程深入理解
Jun 10 Python
python爬虫爬取幽默笑话网站
Oct 24 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
Python字符串格式化常用手段及注意事项
Jun 17 Python
opencv实现图像平移效果
Mar 24 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
总结三种用 Python 作为小程序后端的方式
May 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
解析php取整的几种方式
2013/06/25 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
javascript 面向对象编程基础 多态
2009/08/21 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
python实现维吉尼亚算法
2019/03/20 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
购买一个高级域名:BuyDomains
2018/03/11 全球购物
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
道德模范先进事迹
2014/02/14 职场文书
绘画专业自荐信
2014/07/04 职场文书
相亲活动方案
2014/08/26 职场文书
五年级下册复习计划
2015/01/19 职场文书
护士求职简历自我评价
2015/03/10 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
nginx七层负载均衡配置详解
2022/07/15 Servers