国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3使用正則表達式爬取內涵段子示例

2020-02-22 23:48:40
字體:
來源:轉載
供稿:網友

本文實例講述了Python3使用正則表達式爬取內涵段子的方法。分享給大家供大家參考,具體如下:

似乎正則在爬蟲中用的不是很廣泛,但是也是基本功需要我們去掌握。

先將內涵段子網頁爬取下來,之后利用正則進行匹配,匹配完成后將匹配的段子寫入文本文檔內。代碼如下:

# -*- coding:utf-8 -*-from urllib import request as urllib2import 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'<div/sclass="f18 mb20">(.*?)</div>',re.S)  duanzis = pattern.findall(html)  for duanzi in duanzis:    duanzi = duanzi.replace('<p>','').replace('</p>','').replace('<br />','/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)

運行后生成如下圖所示文件:

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關于Python相關內容可查看本站專題:《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 碌曲县| 葫芦岛市| 湖州市| 潍坊市| 泽州县| 永春县| 望谟县| 临泉县| 扶余县| 利辛县| 潍坊市| 佳木斯市| 南和县| 沁水县| 合水县| 乐陵市| 深水埗区| 衡水市| 玉门市| 耒阳市| 利辛县| 东源县| 财经| 讷河市| 蓬溪县| 平顺县| 德惠市| 望都县| 宜兰县| 华坪县| 兰州市| 龙井市| 新民市| 镇康县| 保靖县| 神农架林区| 临邑县| 耿马| 泰州市| 松江区| 图们市|