ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【Python】【爬虫】【爬狼】004_正则规则模板及其应用

2021-12-15 20:01:02  阅读:208  来源: 互联网

标签:Python 爬虫 gz re fan url 004 data findall


正则规则模板 与 应用(一)

先看这些视频,是在哪个div里面的

image-20211215194710915

image-20211215194802483

    for datapage in soup.find_all("div", class_="lpic"):
        # 一个li标签,包含一个视频
        for data in datapage.find_all("li"):
    # 不知道soup代表着什么,没关系,也别急着写,继续往后看

image-20211215181907287

我们要获取的是

1.视频的标题

2.视频的类型

3.视频的介绍

4.视频的详情页链接

5.视频的封面图链接

image-20211215194220563

image-20211215194329839

image-20211215194455345

image-20211215194425668

正则规则模板

    # 正则规则开始
    gz_fan_title = re.compile(r'''<a href=".*?" title=".*?">(.*?)</a>''',re.S)
    gz_fan_url = re.compile(r'''<a href="(.*?)"''',re.S)
    gz_fan_url_img = re.compile(r'''referrerpolicy="no-referrer" src="(.*?)"''',re.S)
    gz_fan_type = re.compile(r'''<span>类型:(.*?)</span>''',re.S)
    gz_fan_message = re.compile(r'''<p>(.*?)</p>''', re.S)
    # 正则规则结束

应用正则规则模板

 		data = str(data)
                fan_title = re.findall(gz_fan_title, data)
                fan_url = re.findall(gz_fan_url, data)
                fan_img = re.findall(gz_fan_url_img, data)
                fan_type = re.findall(gz_fan_type, data)
                fan_message = re.findall(gz_fan_message, data)

那么上面的data是什么,怎么获得呢?

# 假设搜索love
pageNumber = xrilag_SearchAll("love")
# xrilag_SearchAll是自定义函数,想了解其具体代码的请查看博客https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html
# pageNumber是搜索结果的总页数
# 使用for循环,一页一页进行处理
for page in range(pageNumber):
	# 根据页面跳转的地址改变规则写出页面含变量链接,然后进行源码获取,后面便可以对这一页展开分析与爬取数据了(https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html)
    html_Document = xrilang_UrlToDocument("https://www.yhdmp.cc/s_all?kw=love&pagesize=24&pageindex=" + str(page))
    # xrilang_UrlToDocument是自定义函数,作用是获取网页源码。想了解其具体内容,请查看博客https://www.cnblogs.com/mllt/p/python_pc_pl_edu_002.html
    # 创建一个Beautiful Soup对象
    soup = BeautifulSoup(html_Document, "html.parser")  # parser是解释器
    # 使用了.kpic样式的div,包含且只包含了此页的所有视频列表
    for datapage in soup.find_all("div", class_="lpic"):
        # 一个li标签,包含一个视频
        for data in datapage.find_all("li"):
            # 应用正则规则模板
            data = str(data)
            fan_title = re.findall(gz_fan_title, data)
            fan_url = re.findall(gz_fan_url, data)
            fan_img = re.findall(gz_fan_url_img, data)
            fan_type = re.findall(gz_fan_type, data)
            fan_message = re.findall(gz_fan_message, data)

标签:Python,爬虫,gz,re,fan,url,004,data,findall
来源: https://www.cnblogs.com/mllt/p/python_pc_pl_edu_004.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有