怎么在Python3使用正则表达式爬取数据-创新互联

这篇文章给大家介绍怎么在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使用正则表达式爬取数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站栏目:怎么在Python3使用正则表达式爬取数据-创新互联
网站链接:http://scyanting.com/article/dpcdhe.html

其他资讯