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中的ceil()方法使用教程
May 14 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
对Python 内建函数和保留字详解
Oct 15 Python
用python爬取租房网站信息的代码
Dec 14 Python
详解python函数的闭包问题(内部函数与外部函数详述)
May 17 Python
python调用自定义函数的实例操作
Jun 26 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
从python读取sql的实例方法
Jul 21 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
深入解析NumPy中的Broadcasting广播机制
May 30 Python
python实现一个简单的贪吃蛇游戏附代码
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
我的论坛源代码(七)
2006/10/09 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
爬山算法简介和Python实现实例
2014/04/26 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
Python文件操作的面试题
2013/06/22 面试题
生物科学专业职业规划书范文
2014/02/11 职场文书
增员口号大全
2014/06/18 职场文书
单位工作证明范本
2015/06/15 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL
python spilt()分隔字符串的实现示例
2021/05/21 Python
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python