网站首页  词典首页

请输入您要查询的论文:

 

标题 正则表达式在python爬虫中的应用
范文

    苻玲美

    

    摘要:数据是新一轮技术革命最重要的生产资料,爬虫是获取数据最直接的方式,但爬出来的数据代码夹杂文字,面对大量杂乱的代码夹杂信息,通过正则表达式检索匹配出有用的信息,过滤无用的数据。本文介绍正则表达式在python爬虫中的应用,总结python爬虫中正则表达式的应用技巧。

    关键词:爬虫;python;正则表达式;数据

    中图分类号:TP311? ? 文献标识码:A

    文章编号:1009-3044(2019)25-0253-02

    网络爬虫是一个非常注重实践性而且实用性很强的编程技能,写爬虫分析股票走势,上链家爬房源分析房价趋势,爬知乎、爬豆瓣、爬新浪微博、爬影评,等等。人工智能时代,对数据的依赖越来越重要,数据主要的来源就是通过爬虫获取,通过爬取获取数据可以进行市场调研和数据分析。但爬虫时收集回来的一般是字符流,我们需要从中筛选有用的信息,而用正则表达式可以轻松地完成这一任务。

    1正则表达式与爬虫

    爬虫四个主要步骤:

    · 明确目标 (要知道你准备在哪个范围或者网站去搜索)

    · 爬 (将所有的网站的内容全部爬下来)

    · 取 (获取有用信息、去掉没用的数据)

    · 处理数据(按照我们想要的方式存储和使用)

    那么在取(文本过滤这块)最强大的就是正则表达式,更是python爬虫世界必不可少利器。

    什么是正则表达式,python爬虫使用正则表达式的方法。

    正则表达式(Regular Expression,简称Regex或RE)又称为正规表示法或常规表示法,常常用来检索、替换那些符合某个模式的文本,它首先设定好了一些特殊的字及字符组合,通过组合的“规则字符串”来对表达式进行过滤,从而获取或匹配我们想要的特定内容。它具有灵活、逻辑性和功能性非常的强,能迅速地通过表达式从字符串中找到所需信息的优点。

    正则表达式的常见语法格式:

    在 Python 中,我们可以使用内置的 re 模块来使用正则表达式。re模块提供了3个方法对输入的字符串进行确切的不同要求查询。每一个方法都接收一个正则表达式和一个待查找匹配的字符串。

    (1)match()方法- 从头匹配:

    match()方法的工作方式是只有当被搜索字符串的开头匹配模式的时候它才能查找到匹配对象。

    (2)使用re.search查找 – 匹配任意位置:

    search()方法和match()类似,不过search()方法不会限制我们只从字符串的开头查找匹配。search()方法会在它查找到一个匹配项之后停止继续查找。

    (3)使用 re.findall – 所有匹配对象:

    在Python中我使用的最多的查找方法是findall()方法。当我们调用findall()方法,我们可以非常简单地得到一个所有匹配模式的列表,

    2 正则表达式抓取网络数据常见方法

    在 HTML 中, 基本上所有的实体内容, 都会有个成对的 tag 来框住它。 而这个被 tag 住的内容, 就可以被展示成不同的形式。header 和 body。 在 header 中, 存放这一些网页的网页的元信息, 比如说 title, 这些信息是不会被显示到你看到的网页中的. 这些信息大多数时候是给浏览器看, 或者是给搜索引擎的爬虫看。HTML 的第二大块是 body, 这个部分才是你看到的网页信息。网页中的视频, 图片和文字等都存放在这里。 tag 就是主标题, 我们看到呈现出来的效果就是大一号的字。 里面的文字就是一个段落。 里面都是一些链接。是层用来存放一块信息。在html还有很多这样的tag,信息都是放在这些 tag 中的。爬虫想要做的就是根据这些 tag 来找到合适的信息。

    1)爬取网页

    通过下列操作成功爬取了百度的首页。

    2) 抓取title标签间的内容

    Print data打印出来抓取的网页,这就证明了我们能够成功读取这个网页的所有信息了。但我们还没有对网页的信息进行汇总和利用。我们发现想要提取一些形式的信息,合理的利用 tag 的名字十分重要。我们想用代码找到这个网页的 title,选好要使用的 tag 名称 。 使用正则匹配。</p><p>    title=re.findall(r"<title>(.+?)", data)

    print(title[0])

    3)抓取

    标签间的内容

    想要找到中间的那个段落

    的内容跟一样,但因为这个段落在 HTML 中还夹杂着 tab, new line, 所以我们给一个flags=re.DOTALL 来对这些 tab, new line 不敏感。</p><p>    4)爬取所有的连接的网址。</p><p>    有些时候,我们需要获取网站中所有的超链接并保存在文档里进行应用。一个一个获取是不现实的,我们把网页爬取出来后,用正则表达式去在索出来。超链接在网页中的格式是:你好,请登录。网址以href=“开头,以”结束。因此正则表达p=re.findall(rhref=”(.*?)”),data),其中data存放抓取的网页信息,r进行转义。</p><p>    3 总结</p><p>    大数据时代,我们需要海量的信息去分析市场、分析客户。而爬虫获取的数据掺杂着大量的代码和没用的数据。通过 正则表达式筛选有用的信息,过滤无用的数据。本文介绍爬虫与正则表达式的关系,正则表达式的语法,re模块的几种应用正则表达式方法的区别。最后通过案例总结了python爬虫中正则表达式的使用技巧。</p><p>    参考文献:</p><p>    [1]熊畅.基于Python爬虫技术的网页数据抓取与分析研究[J]. 数字技术与应用,2017(9):45-46.</p><p>    [2]魏冬梅,何忠秀,唐建梅.基于Python的Web信息获取方法研究[J].软件导刊,2018, 17(1):41-43.</p><p>    [3]万磊,严道波,杨勇,等.基于文本挖掘的95598投訴工单关键信息提取分析[J].电力与能源,2019,40(01):76-78.</p><p>    [4]Jeffrey E.F.Friedl(著).精通正则表达式[M].余晟,译.北京:电子工业出版社,2008.</p><p>    【通联编辑:闻翔军】</p> </td> </tr> <tr> <td width="61" align="center">随便看</td> <td> <ul class="random"> <li><a target="_blank" href="d513800.html">浅谈高中政治教学改革的问题与解决策略</a></li> <li><a target="_blank" href="d513801.html">探讨高中化学教学中学生自主管理能力的培养</a></li> <li><a target="_blank" href="d513802.html">在自己的舞台上演绎精彩</a></li> <li><a target="_blank" href="d513803.html">优化“活动单导学”模式下小组合作学习的策略</a></li> <li><a target="_blank" href="d513804.html">铜陵县学生阳光体育运动现状的现状调查及策略</a></li> <li><a target="_blank" href="d513805.html">高中物理新课导入的基本原则与策略浅探</a></li> <li><a target="_blank" href="d513806.html">教育“微时代”</a></li> <li><a target="_blank" href="d513807.html">如何应用“六环节”进行教学</a></li> <li><a target="_blank" href="d513808.html">循序渐进,立足全面,提升语文素养</a></li> <li><a target="_blank" href="d513809.html">借助思维导图,提升化学复习效率</a></li> <li><a target="_blank" href="d513810.html">多媒体教学对提升初中英语阅读能力的有效性分析</a></li> <li><a target="_blank" href="d513811.html">初中数学开放题教学技巧研究</a></li> <li><a target="_blank" href="d513812.html">思想品德课育人于无痕的几点尝试</a></li> <li><a target="_blank" href="d513813.html">在“做”中学好数学</a></li> <li><a target="_blank" href="d513814.html">探讨初中英语朗读教学的实践运用</a></li> <li><a target="_blank" href="d513815.html">过程性评价在初中信息技术课中的运用</a></li> <li><a target="_blank" href="d513816.html">培养学生的质疑能力</a></li> <li><a target="_blank" href="d513817.html">高中英语教学中学生自主学习能力培养的浅析</a></li> <li><a target="_blank" href="d513818.html">浅谈电子电工课程教学中学生的能力生长</a></li> <li><a target="_blank" href="d513819.html">浅谈如何让孩子们在音乐中得到快乐</a></li> <li><a target="_blank" href="d513820.html">时事政治在高中政治教学中的应用</a></li> <li><a target="_blank" href="d513821.html">如何做一个有爱心的教师</a></li> <li><a target="_blank" href="d513822.html">怎样提高初中生的英语交际能力</a></li> <li><a target="_blank" href="d513823.html">关于中职声乐有效教学方法的探讨</a></li> <li><a target="_blank" href="d513824.html">高中政治开放式教学探究</a></li> <li><a target="_blank" href="22614.html">ecologically</a></li> <li><a target="_blank" href="22615.html">ecologies</a></li> <li><a target="_blank" href="22616.html">ecologist</a></li> <li><a target="_blank" href="22617.html">ecologists</a></li> <li><a target="_blank" href="22618.html">ecology</a></li> <li><a target="_blank" href="22619.html">e-commerce</a></li> <li><a target="_blank" href="22620.html">ecommerce</a></li> <li><a target="_blank" href="22621.html">econometric</a></li> <li><a target="_blank" href="22622.html">econometrician</a></li> <li><a target="_blank" href="22623.html">econometrics</a></li> <li><a target="_blank" href="22624.html">economic</a></li> <li><a target="_blank" href="22625.html">economicagent</a></li> <li><a target="_blank" href="22626.html">economic agent</a></li> <li><a target="_blank" href="22627.html">economical</a></li> <li><a target="_blank" href="22628.html">first floor</a></li> <li><a target="_blank" href="22629.html">first floors</a></li> <li><a target="_blank" href="22630.html">first gear</a></li> <li><a target="_blank" href="22631.html">firstgeneration</a></li> <li><a target="_blank" href="22632.html">first generation</a></li> <li><a target="_blank" href="22633.html">first-generation</a></li> <li><a target="_blank" href="22634.html">firsthalf</a></li> <li><a target="_blank" href="22635.html">first half</a></li> <li><a target="_blank" href="22636.html">first hand</a></li> <li><a target="_blank" href="22637.html">firsthand</a></li> <li><a target="_blank" href="22638.html">first-hand</a></li> <li><a target="_blank" href="b26830.html">一块湿柴——再点火也烧不起来</a></li> <li><a target="_blank" href="b26831.html">一块玉儿</a></li> <li><a target="_blank" href="b26832.html">一块白布掉进染缸里</a></li> <li><a target="_blank" href="b26833.html">一块石头压在心上</a></li> <li><a target="_blank" href="b26834.html">一块石头往平处放</a></li> <li><a target="_blank" href="b26835.html">一块石头落了地</a></li> <li><a target="_blank" href="b26836.html">一块石头落地</a></li> <li><a target="_blank" href="b26837.html">一块砖</a></li> <li><a target="_blank" href="b26838.html">一块砖垒不成墙,一根椽子盖不成房</a></li> <li><a target="_blank" href="b26839.html">一块砖砌不成墙,一根甘蔗榨不成糖</a></li> <li><a target="_blank" href="b26840.html">一块砖难垒墙,一根杉难盖房</a></li> <li><a target="_blank" href="b26841.html">一块硬骨头</a></li> <li><a target="_blank" href="b26842.html">一块磨盘吊住脖子——直不起腰,抬不起头</a></li> <li><a target="_blank" href="b26843.html">一块糖</a></li> <li><a target="_blank" href="b26844.html">一块肉</a></li> <li><a target="_blank" href="b26845.html">一块肥肉送到嘴边</a></li> <li><a target="_blank" href="b26846.html">一块腊肉藏在饭碗里头——有人情显不出来</a></li> <li><a target="_blank" href="b26847.html">一块臭肉,坏了一锅汤</a></li> <li><a target="_blank" href="b26848.html">一块钱</a></li> <li><a target="_blank" href="b26849.html">一块门汀</a></li> <li><a target="_blank" href="b26850.html">一块鸡屎,弄坏一缸酱</a></li> <li><a target="_blank" href="b26851.html">一块(儿)堆儿</a></li> <li><a target="_blank" href="b26852.html">一坛子酒</a></li> <li><a target="_blank" href="b26853.html">一垅</a></li> <li><a target="_blank" href="b26854.html">一垛墙想堵住黄河水</a></li> </ul> </td> </tr> </table> <p> </p> <p>科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。<p> </p> <div class="foot">Copyright © 2004-2023 puapp.net All Rights Reserved<BR> <span class="updatetime"> 更新时间:2026/10/15 2:35:34</span><script src="/js/count.js" type="text/javascript"></script></div> </body> </html>