网络编程
位置:首页>> 网络编程>> Python编程>> 对python读写文件去重、RE、set的使用详解

对python读写文件去重、RE、set的使用详解

作者:IBoyMan  发布时间:2022-09-25 04:33:48 

标签:python,RE,set,去重

如下所示:


# -*- coding:utf-8 -*-

from datetime import datetime
import re

def Main():
sourcr_dir = '/data/u_lx_data/fudan/muying/muying_11yue_all.txt'
target_dir = '/data/u_lx_data/fudan/muying/python/uid_regular_get.txt'

uset = set() #去重

print("开始。。。。。")
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

with open(target_dir, 'w+') as f_write:
 with open(sourcr_dir, 'r') as f_scorce:
  for line in f_scorce:
  line = line.strip().split("\t")
  # 宝宝树
  if line[2] == 'babytree.com':
   uidList = re.findall(r'.*NL=u%02(u\d+)', line[3], re.I)
   if uidList:
    # 去重代码
    if uidList[0] not in uset:
     f_write.write(uidList[0] + "\n")
     uset.add(uidList[0])
     print("宝宝树已完成")

# 柚宝宝
  elif line[2] == 'youzibuy.com':
   if line[4].find("yunqi.youzibuy.com/tae_top_notify") != -1:
    uidList = re.findall(r'.*myuid=(\d+)', line[4], re.I)
    if uidList:
     if uidList[0] not in uset:
      f_write.write(uidList[0] + "\n")
      uset.add(uidList[0])
      print("柚宝宝已完成")

# 妈妈帮
  elif line[2] == 'mmbang.com':
   uidList = re.findall(r'.*uid=(\d+)', line[3], re.I)
   if uidList:
    if uidList[0] not in uset:
     f_write.write(uidList[0] + "\n")
     uset.add(uidList[0])
     print("妈妈帮已完成")

# 妈妈网
  elif line[2] == 'mama.cn':
   if line[4].find("mapi.mama.cn/feed/users/show") != -1:
    uidList = re.findall(r'.*friend_uid=(\d+)', line[4], re.I)
    if uidList:
     if uidList[0] not in uset:
      f_write.write(uidList[0] + "\n")
      uset.add(uidList[0])
   if line[4].find("mamaquan/mmq_thread") != -1:
    uidList = re.findall(r'.*uid=(\d+)', line[4], re.I)
    if uidList:
     if uidList[0] not in uset:
      f_write.write(uidList[0] + "\n")
      uset.add(uidList[0])
      print("妈妈网已完成")

# 育儿网
  elif line[2] == 'ci123.com':
   uidList = re.findall(r'.*ci123js=([a-zA-Z]+\d+)', line[3], re.I)
   if uidList:
    if uidList[0] not in uset:
     f_write.write(uidList[0] + "\n")
     uset.add(uidList[0])
     print("育儿网已完成")

print("完成。。。。。")
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
if __name__ == "__main__":
Main()

来源:https://blog.csdn.net/IBoyMan/article/details/79401596

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com