我正在学习python请求和BeautifulSoup。我设法编写了一个登录站点并废弃表格的脚本。这是代码:
soup = BeautifulSoup(req.content, "lxml")
table = soup.find_all('table', attrs={'class': 'griglia_tab', 'id':'data_table'})[2]
print(table.text)
当我运行脚本时,我得到了所需的输出,但值之间有很多空行。我怎样才能删除它们并以正确的方式输出值?
答案 0 :(得分:1)
如果你试图抓取this页面,这里的代码可能有效。您需要使用re
用一个换行符替换多个连续的换行符。
print(re.sub(r'\n\s*\n', '\n', table.text.strip()))
修改强>
您的代码很少有建议:
id
属性将唯一标识页面中的单个表。由于您需要打印的表有一个,因此不需要使用'class': 'griglia_tab'
。您也可以取消find_all
,并改为使用find
。
因此,请将代码替换为table
,并使用此代码
table = soup.find('table', attrs={'id':'data_table'})