python 解析html之BeautifulSoup
2020-02-23 04:44:57
供稿:網友
代碼如下:
# coding=utf-8
from BeautifulSoup import BeautifulSoup, Tag, NavigableString
from SentenceSpliter import SentenceSpliter
from os.path import basename,dirname,isdir,isfile
from os import makedirs
from shutil import copyfile
import io
import time
import re
class build_tpl:
def __init__(self,parse_file,build_tpl_name,cp_pic_dir,show_pic_dir,js_path,set_lang=2052):
'''參數說明:解析文件名,模版名稱,保存圖片路徑,圖片顯示路徑,js路徑,當前語言(分句使用)'''
#取得解析文件目錄路徑
if len(dirname(parse_file))>1:
self.cur_dir = dirname(parse_file)+"/";
else:
self.cur_dir ="./";
#建立的模版文件文件名
self.build_tpl_name = build_tpl_name;
#圖片cp到得目錄
self.cp_pic_dir = cp_pic_dir;
#通過http展現圖片的目錄
self.show_pic_dir = show_pic_dir;
#加載js的路徑
self.js_path = js_path;
#句段組
self.get_text_arr = [];
#當前圖片名數組
self.cur_pic_arr = [];
#解析文件 取得soup 資源
self.soup = self.get_soup(parse_file);
#取得html文檔中,段文檔
self.get_text_arr = self.soup.body.findAll(text=lambda(x): len(x.strip()) > 0);
#取得句對
self.get_sentence_arr = self.parse_text(self.get_text_arr,set_lang);
#取得替換數組
self.replace_list = self.get_replace_list(self.get_text_arr,set_lang);
#取得圖片數組
self.cur_pic_arr = self.soup.findAll('img');
#self.write_file_by_list("no.txt",self.get_text_arr);