python网络爬虫使用BeautifulSoup时出现findAll执行失败问题分析

    最近在学习和演技python网络爬虫,并且使用了BeautifulSoup进行格式化查找。在使用Python读取word文档的时候,由于在Linux环境下读取Word文档,需要先将word文档转换为xml文档,在使用findAll函数进行文档内容定位时。findAll执行无结果。经过分析和问题查找,发现是由于为将BeautifulSoup的解析器指定为xml,导致后续的查找失败。修改后的代码片段如下:

from zipfile import ZipFile
from urllib.request import urlopen
from io import BytesIO
from bs4 import BeautifulSoup

wordFile=urlopen("http://pythonscraping.com/pages/AWordDocument.docx").read()
wordFile=BytesIO(wordFile)
document=ZipFile(wordFile)
xml_content=document.read('word/document.xml')

wordObj=BeautifulSoup(xml_content.decode('utf-8'),"xml")
textString=wordObj.findAll("w:t")
for textElem in textString:
    print(textElem.text)

   整理出来,望大家在遇到findAll执行失败的时候,首先考虑是否BeautifulSoup的解析结构不正确,为指定解析器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值