python爬虫之正则表达式解析实战

这篇具有很好参考价值的文章主要介绍了python爬虫之正则表达式解析实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 图片爬取流程分析

  1. 先获取网址,URL:https://www.xiachufang.com/category/40076/
    python爬虫之正则表达式解析实战,python,爬虫,正则表达式
  2. 定位想要爬取的内容
  3. 使用正则表达式爬取
  4. 导入模块
  5. 指定URL
  6. UA伪装(模拟浏览器)
  7. 发起请求,获取当前页面的数据内容,并使用通用爬虫爬取整个页面
  8. 编译正则表达式(提取想要的内容)
  9. 解析请求内容
  10. 指定图片存储路径
  11. 持久化存储

2. 实现代码—爬取家常菜图片

# 导入模块
import ssl
import os
import re
import requests
if __name__ == '__main__':
    # 创建一个文件夹,保存所有的图片
    if not os.path.exists('./caipu/'):
        os.mkdir('./caipu/')
    # 指定URL
    url = 'https://www.xiachufang.com/category/40076/'
    # 模拟浏览器
    headers = {
        'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
    }
    # 使用通用爬虫对URL对应的一整个页面进行爬取,并获取响应数据
    page_text = requests.get(url=url, headers=headers).text

    # 编译正则表达式
    # re.compile()方法将正则表达式编译成一个对象,可以通过调用它的方法来对文本进行匹配操作。
    data_src_list = re.compile('data-src="(.*?)" width=')
    # 解析图片链接
    # findall():查找字符串中所有满足正则表达式的字符串,以列表的形式返回。
    data_src_url = data_src_list.findall(page_text)
    # print(data_src_url)

    for src in data_src_url:
        # 请求到图片的二进制数据
        img_data = requests.get(url=src,headers=headers).content
        # 生成图片名称
        # 由于http://xxxx.jsp后面带有问号,所以将其进行切片
        img_name = src.split('/')[-10].split('?')[0]
        # print(img_name)
        # 指定图片存储的路径
        imgPath = './caipu/'+img_name
        # 持久化存储
        with open(imgPath,'wb') as fp:
            fp.write(img_data)
            print(img_name, "下载成功!!!")

文章来源地址https://www.toymoban.com/news/detail-716306.html

到了这里,关于python爬虫之正则表达式解析实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • python爬虫入门(三)正则表达式

    开源中国提供的正则表达式测试工具 http://tool.oschina.net/regex/,输入待匹配的文本,然后选择常用的正则表达式,就可以得出相应的匹配结果了 常用的匹配规则如下 模 式 描 述 w 匹配字母、数字及下划线 W 匹配不是字母、数字及下划线的字符 s 匹配任意空白字符,等价于

    2024年02月08日
    浏览(12)
  • python爬虫之正则表达式学习

    网络安全离不开脚本和工具的开发,python很多又需要正则表达式。 这是一个很好的学习正则表达式的项目 正则表达式其实就是在执行搜索时的格式,它由一些字母和数字组合而成。 例如:一个正则表达式  the ,它表示一个规则:由字母 t 开始,接着是 h ,再接着是 e, 正则

    2024年02月09日
    浏览(42)
  • 【python】网络爬虫与信息提取--正则表达式

    【python】网络爬虫与信息提取--正则表达式

            正则表达式是用来简洁表达一组字符串的表达式。是通用的字符串表达框架,简洁表达一组字符串的表达式,针对字符串表达“简洁”和“特征”思想的工具,判断某字符串的特征归属。         用处:表达文本类型的特征;同时查找或替换一组字符串;匹配字符串

    2024年02月19日
    浏览(8)
  • 《零基础入门学习Python》第060讲:论一只爬虫的自我修养8:正则表达式4

    《零基础入门学习Python》第060讲:论一只爬虫的自我修养8:正则表达式4

    有了前面几节课的准备,我们这一次终于可以真刀真枪的干一场大的了,但是呢,在进行实战之前,我们还要讲讲正则表达式的实用方法和扩展语法,然后再来实战,大家多把持一会啊。 我们先来翻一下文档: 首先,我们要举的例子是讲得最多的 search() 方法,search() 方法

    2024年02月15日
    浏览(14)
  • 正则表达式和爬虫

    正则表达式和爬虫

    目录 一、正则表达式:         作用: 字符类(只匹配一个字符)                 细节 预定义字符字符(只匹配一个字符)                 细节 数量词 二、爬虫         Pattern         Matcher                 要点说明                 1、校验字符串是否满足规则

    2024年01月17日
    浏览(9)
  • 爬虫之正则表达式

    爬虫之正则表达式

    个人主页:Lei宝啊  愿所有美好如期而遇 概念: 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),正则匹配是一个模糊的匹配(不是精确匹配) 如下四个方法经常使用: match() search() findall() finditer() 匹配单个字符或数字:  匹配 说明 . 匹配除换行符以外的任

    2024年02月20日
    浏览(11)
  • 爬虫day2 正则表达式作业

    利用正则表达式完成下面的操作: 一、不定项选择题 能够完全匹配字符串\\\"(010)-62661617\\\"和字符串\\\"01062661617\\\"的正则表达式包括(ABD) A. r\\\"(?d{3})?-?d{8}\\\" B. r\\\"[0-9()-]+\\\" 中括号里面的字符出现任意次 C. r\\\"[0-9(-)]*d*\\\" (-) 表示(到)的所有字符 D. r\\\"[(]?d*[)-]*d*\\\" [(]就是一个(; [)-]是)- 能够

    2023年04月08日
    浏览(14)
  • 正则表达式5分钟全解析

    前言 正则表达式在编程中很重要,它能够通过特定的语法规则来对字符串进行精确的模式匹配和替换操作。相比传统的字符串处理方式,正则表达式能够快速高效地完成繁琐的文本处理任务,例如数据提取、格式化、过滤、搜索等等。 基本匹配 hello = hello world 正则表达式是大

    2024年01月21日
    浏览(12)
  • awk经典实战、正则表达式

    目录 1.筛选给定时间范围内的日志  2.统计独立IP 案列  需求 代码  运行结果 3.根据某字段去重 案例 运行结果 4.正则表达式 1)认识正则  2)匹配字符 3)匹配次数  4)位置锚定:定位出现的位置 5)分组和后向引用  grep/sed/awk用正则去筛选日志时,如果要精确到小时、分钟

    2024年02月13日
    浏览(11)
  • Java之正则表达式的详细解析

    在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字符串的规则。它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。 先看一个不使用正则表

    2024年02月10日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包