宝哥软件园

Python3使用正则表达式来抓取内涵段

编辑:宝哥软件园 来源:互联网 时间:2021-08-31

本文说明了Python3用正则表达式爬行内涵段的方法。分享给大家参考,如下:

看似规律性在爬行动物中运用不多,但也是我们需要掌握的基本功。

首先,爬下内涵子页面,然后有规律地匹配。匹配后,将匹配的子页面写入文本文档。代码如下:

#-*-coding : utf-8-*-从urllib导入请求作为urllib 2导入re #爬网内涵段by正则表达式URL=r ' http://www.neihanpa.com/article/list _ 5 _ { }。html ' headers={ ' user-agent ' : ' Mozilla Win64;x64RV :57.0)gecko/20100101 Firefox/57.0 ',} file _ name='内涵段落。范围(2):# 2中页面的“txt”表示页数。您可以调整full URL=URL . format(str(page 1))request=urllib 2 . request(URL=full URL,Headers=Headers)response=urllib 2。urllopen(请求)html=response。读取()。解码(' gbk') # re。如果没有re。它只匹配符合规则的字符串。如果没有,下一行将再次匹配。#如果你是。添加s后,所有字符串将作为一个整体进行匹配。模式=re。编译(r' div sclass=' f18mb20 '(。*?)/div ',re。s)duanzi=pattern . find all(html)用于duanzis:中的duanzi=duanzi.replace('p ',' ')。替换('/p ',' ')。替换(' br /',' N ')。替换(',')。替换(' rdquo ',' ')。替换('.' ')try: #将爬网段写入file=open (file _ name,' a ',编码=' utf-8 '。快跑。join(duanzi . split()))file . close()除了OS错误为e: print (e)生成如下图所示的文件:

PS:这里有两个非常方便的正则表达式工具,供大家参考:

JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript

在线正则表达式生成工具:http://tools.jb51.net/regex/create_reg

有关Python的更多信息,请参见本网站的主题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》和《Python文件与目录操作技巧汇总》

希望本文对Python编程有所帮助。

更多资讯
游戏推荐
更多+