这篇文章给大家介绍怎么在Python3使用正则表达式爬取数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
做网站、网站建设介绍好的网站是理念、设计和技术的结合。成都创新互联拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。代码如下:
# -*- coding:utf-8 -*- from urllib import request as urllib2 import re # 利用正则表达式爬取内涵段子 url = r'http://www.neihanpa.com/article/list_5_{}.html' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0', } file_name = '内涵段子.txt' for page in range(2): # 2表示页数,可以自行调整 fullurl = url.format(str(page+1)) request = urllib2.Request(url=fullurl, headers=headers) response = urllib2.urlopen(request) html = response.read().decode('gbk') # re.S 如果没有re.S 则是只匹配一行有没有符合规则的字符串,如果没有则下一行重新匹配 # 如果加上re.S 则是将所有的字符串作为一个整体进行匹配 pattern = re.compile(r'(.*?)',re.S) duanzis = pattern.findall(html) for duanzi in duanzis: duanzi = duanzi.replace('','').replace('
','').replace('
','\n').replace('“','').replace('&rdquo','').replace('…','') try: # 将爬取的段子写入文件 file = open(file_name,'a',encoding='utf-8') file.write('\n'.join(duanzi.split())) file.close() except OSError as e: print(e)
关于怎么在Python3使用正则表达式爬取数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。