2023年6月29日发(作者:)
BeautifulSoup4之table数据提取Beautiful Soup 是⼀个可以从HTML或XML⽂件中提取数据的Python库.
其具体的介绍及说明可以参考【】。
本⽂中,我们将⽤其进⾏⽹页table标签内数据的提取,主要功能步骤如下:根据URL地址获取有效HTML⽹页,我们可以称之为URL处理单元在这⼀单元,我们将使⽤python的urllib2库来对URL地址进⾏处理,有关该库的说明可以参考【】。我们将使⽤urllib2的urlopen函数处理传⼊的URL,如果地址正确,将获取该地址对应的HTML代码块;若地址有误,将会返回空。注:若仅对该项进⾏测试的话,可以通过response对象的code值是否为200进⾏不同的输出。该部分的代码贴出如下,要在使⽤之前引⼊urllib2库。 import urllib2 def download(self, url): response = n(url) if e() != 200: return None return ()获取⽹页内table标签下的数据,我们称之为数据提取单元将上⼀单元中获得HTML 代码作为参数(html_cont)传⼊该单元进⾏使⽤。在此我们将使⽤BeautifulSoup解析该段代码并⽣成⼀个对象,因此我们必须进⾏库的安装,具体⽅法可参考⽂档以及解析器的安装,python中有⾃带的解析器,当然也可以选择第三⽅的,下图是⼀些解析器的⽐较说明:
本例中我们将使⽤python⾃带的解析器来解析HTML代码。⾸先⽣成soup对象,并进⾏table标签的内容获取 from bs4 import BeautifulSoup def parse(self, page_url, html_cont): if html_cont is None: return None else: soup = BeautifulSoup(html_cont, '',
from_encoding='utf-8')
self._get_new_data(page_url, soup) def _get_new_data(self, page_url, soup): title_node = ('title') print title__text() table_node = _all('table') for table in table_node: print _text()⾄此,我们将⼀个⽹页内的table数据进⾏了获取显⽰,对于获取数据输出显⽰的问题,如输出编码、输出格式化等,可分别参考⽂档的相关部分:【】,【】。总体来说,BeautifulSoup⽀持使得爬⾍的实现更加⽅便快捷,学习起来也极易上⼿,同时,作为极其强⼤的python库,在很多爬⾍视频教程内都应⽤到,也适于新⼿的⼊门。新⼿上路,请多指教!
发布者:admin,转转请注明出处:http://www.yc00.com/news/1687986825a64088.html
评论列表(0条)