Python使用get_text()方法从大段html中提取文本

为促进微博客信息服务健康发展,本规定明确了微博客信息服务的定义、监管机构职责、服务提供者的资质与责任、用户真实身份信息认证等内容,并对信息内容管理、新技术应用等方面提出了要求。
<textarea rows="" cols="" name="id"><DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p> </o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第一条 为促进微博客信息服务健康有序发展,保护公民、法人和其他组织的合法权益,维护国家安全和公共利益,根据《中华人民共和国网络安全法》《国务院关于授权国家互联网信息办公室负责互联网信息内容管理工作的通知》,制定本规定。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第二条 在中华人民共和国境内从事微博客信息服务,应当遵守本规定。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>本规定所称微博客,是指基于使用者关注机制,主要以简短文字、图片、视频等形式实现信息传播、获取的社交网络服务。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>微博客服务提供者是指提供微博客平台服务的主体。微博客服务使用者是指使用微博客平台从事信息发布、互动交流等的行为主体。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>微博客信息服务是指提供微博客平台服务及使用微博客平台从事信息发布、传播等行为。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第三条 国家互联网信息办公室负责全国微博客信息服务的监督管理执法工作。地方互联网信息办公室依据职责负责本行政区域内的微博客信息服务的监督管理执法工作。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第四条 微博客服务提供者应当依法取得法律法规规定的相关资质。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>向社会公众提供互联网新闻信息服务的,应当依法取得互联网新闻信息服务许可,并在许可范围内开展服务,禁止未经许可或超越许可范围开展互联网新闻信息服务活动。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第五条 微博客服务提供者应当发挥促进经济发展、服务社会大众的积极作用,弘扬社会主义核心价值观,传播先进文化,坚持正确舆论导向,倡导依法上网、文明上网、安全上网。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第六条 微博客服务提供者应当落实信息内容安全管理主体责任,建立健全用户注册、信息发布审核、跟帖评论管理、应急处置、从业人员教育培训等制度及总编辑制度,具有安全可控的技术保障和防范措施,配备与服务规模相适应的管理人员。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>微博客服务提供者应当制定平台服务规则,与微博客服务使用者签订服务协议,明确双方权利、义务,要求微博客服务使用者遵守相关法律法规。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第七条 微博客服务提供者应当按照“后台实名、前台自愿”的原则,对微博客服务使用者进行基于组织机构代码、身份证件号码、移动电话号码等方式的真实身份信息认证、定期核验。微博客服务使用者不提供真实身份信息的,微博客服务提供者不得为其提供信息发布服务。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>微博客服务提供者应当保障微博客服务使用者的信息安全,不得泄露、篡改、毁损,不得出售或者非法向他人提供。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第八条 微博客服务使用者申请前台实名认证账号的,应当提供与认证信息相符的有效证明材料。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>境内具有组织机构特征的微博客服务使用者申请前台实名认证账号的,应当提供组织机构代码证、营业执照等有效证明材料。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>境外组织和机构申请前台实名认证账号的,应当提供驻华机构出具的有效证明材料。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第九条 微博客服务提供者应当按照分级分类管理原则,根据微博客服务使用者主体类型、发布内容、关注者数量、信用等级等制定具体管理制度,提供相应服务,并向国家或省、自治区、直辖市互联网信息办公室备案。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十条 微博客服务提供者应当对申请前台实名认证账号的微博客服务使用者进行认证信息审核,并按照注册地向国家或省、自治区、直辖市互联网信息办公室分类备案。微博客服务使用者提供的证明材料与认证信息不相符的,微博客服务提供者不得为其提供前台实名认证服务。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>各级党政机关、企事业单位、人民团体和新闻媒体等组织机构对所开设的前台实名认证账号发布的信息内容及其跟帖评论负有管理责任。微博客服务提供者应当提供管理权限等必要支持。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十一条 微博客服务提供者应当建立健全辟谣机制,发现微博客服务使用者发布、传播谣言或不实信息,应当主动采取辟谣措施。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十二条 微博客服务提供者和微博客服务使用者不得利用微博客发布、传播法律法规禁止的信息内容。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>微博客服务提供者发现微博客服务使用者发布、传播法律法规禁止的信息内容,应当依法立即停止传输该信息、采取消除等处置措施,保存有关记录,并向有关主管部门报告。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十三条 微博客服务提供者应用新技术、调整增设具有新闻舆论属性或社会动员能力的应用功能,应当报国家或省、自治区、直辖市互联网信息办公室进行安全评估。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十四条 微博客服务提供者应当自觉接受社会监督,设置便捷的投诉举报入口,及时处理公众投诉举报。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十五条 国家鼓励和指导互联网行业组织建立健全微博客行业自律制度和行业准则,推动微博客行业信用等级评价和信用体系建设,督促微博客服务提供者依法提供服务、接受社会监督。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十六条 微博客服务提供者应当遵守国家相关法律法规规定,配合有关部门开展监督管理执法工作,并提供必要的技术支持和协助。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>微博客服务提供者应当记录微博客服务使用者日志信息,保存时间不少于六个月。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十七条 微博客服务提供者违反本规定的,由有关部门依照相关法律法规处理。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><FONT face=宋体>第十八条 本规定自2018年3月20日起施行。</SPAN><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font-kerning: 1.0000pt"><o:p></o:p></SPAN></DIV><!--EndFragment--></textarea>

比如这儿有这么一大段带html的字串,想要从中提取文本,首先发现这是一个textarea

我们使用beautifulsoup

def get_content(url):
    resp = urllib.request.urlopen(url)
    html = resp.read()
    bs = BeautifulSoup(html, "html.parser")
    return bs.textarea.get_text()

首先用那段html字符串初始化beautifulsoup对象

然后bs.textarea返回找到的第一个textarea,找到后使用get_text()清空所有html标签元素

之后就会返回干净的文字

### 使用Python库从PDF文件中提取文本并分块 对于从PDF文件中提取文本的需求,可以利用`PyPDF2`或者`pdfminer.six`这样的第三方库来实现。当使用`pdfminer.six`时,可以通过如下方式读取PDF文档的内容[^1]: ```python from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO def extract_text_from_pdf(pdf_path): resource_manager = PDFResourceManager() string_io = StringIO() converter = TextConverter(resource_manager, string_io, laparams=LAParams()) page_interpreter = PDFPageInterpreter(resource_manager, converter) with open(pdf_path, 'rb') as fh: for page in PDFPage.get_pages(fh, caching=True, check_extractable=True): page_interpreter.process_page(page) text = string_io.getvalue() # Close all the opened objects after the operations. converter.close() string_io.close() return text ``` 上述代码展示了如何通过`pdfminer.six`解析PDF文件中的文本信息。为了进一步将获取到的大段文字切分为更小的部分或段落,可以根据特定的规则来进行分割操作。例如,按照换行符`\n`或者其他标点符号作为边界条件。 如果考虑的是由程序生成的PDF文件,则由于这类文件通常具有良好的结构化特性——即其中的文字、图片等内容均保持较好的逻辑顺序和格式保留度[^3],因此可以直接应用常规的方法进行文本抽取而无需担心过多复杂情况的发生。 另外一种更为简便的方式是借助于命令行工具`pdf2txt.py`,它是`pdfminer.six`的一部分,能够快速完成PDF至纯文本的转换工作[^2]。不过需要注意的是,在实际项目开发过程中可能还需要额外处理一些特殊情况,比如表格数据、多栏布局等非线性的页面元素。 #### 文本分块策略 一旦获得了完整的文本字符串之后,就可以基于业务需求定义不同的方法对其进行切割。以下是几种常见的做法: - **按自然段划分**:寻找连续出现的一对或多对回车符(`\r\n`, `\n`)之间的内容作为一个独立单元; - **固定长度截断**:设定一个字符数阈值N,每当累积达到该数值就切断当前片段形成新的子串; - **语义单位分离**:识别句子结束标记(句号`.`问号`?`感叹号`!`),以此为依据拆解成若干短句组成的集合。 最后值得注意的是,无论是哪种方案都应当考虑到异常状况下的容错机制设计,确保即使遇到不标准输入也能尽可能平稳运行而不至于崩溃退出。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值