python - 如何网络抓取空表数据

标签 python beautifulsoup

def proba():
    html_file = urllib.request.urlopen('https://www.biznesradar.pl/wskazniki-zadluzenia/06N')
    soup = BeautifulSoup(html_file, 'lxml')
    fields = [item['data-field'] for item in soup.find_all('tr', attrs = {'data-field': True})]
    row_data = []
    dict_of_list = {}
    for field in fields:
        for war in soup.find(attrs = {f'data-field': '{}'.format(field)}).find_all('td', class_ = 'h'):
            [row_data.append(float(i.text.replace(' ', ''))) for i in war.find_all('span', class_ = 'value')]            
    for field in enumerate(fields):       
        dict_of_list["zadl_{}".format(field[1])] = np.array_split(row_data, len(fields))[field[0]].astype(np.float)

我想将此空表数据抓取为 None 或 np.nan,以便在抓取的数据中具有相同的行: enter image description here html 看起来像这样: enter image description here

当我寻找不存在的属性时,例如如下所示: x = soup.find(attrs = {f'data-field': 'LDER'}).tr,python 返回 NoneType 对象,所以我尝试了这个条件:

[row_data.append(float(i.text.replace(' ', ''))) if war.span is not None else row_data.append(np.nan) for i in war.find_all('span', class_ = 'value')] 

但它无法正常工作:(。 有什么想法吗?

最佳答案

dict_of_list = {}   
def proba():
    html_file = urllib.request.urlopen('https://www.biznesradar.pl/wskazniki-zadluzenia/06N')
    soup = BeautifulSoup(html_file, 'lxml')
    fields = [item['data-field'] for item in soup.find_all('tr', attrs = {'data-field': True})]
    row_data = []
    for field in fields:
        for war in soup.find(attrs = {f'data-field': '{}'.format(field)}).find_all('td', class_ = 'h'):
            if war.span is None:
                row_data.append(np.nan)
            else:
                row_data.append(float(war.span.text.replace(' ', '')))
    for field in enumerate(fields):       
        dict_of_list["zadl_{}".format(field[1])] = np.array_split(row_data, len(fields))[field[0]].astype(np.float)

关于python - 如何网络抓取空表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60326208/

相关文章:

python - NLTK 缺少西类牙语 wordnet

python - 在 Mac Snow Leopard 上安装 MySQL-python-1.2.3c1 时出现问题

python - sqlalchemy 创建外键?

python - 使用 Python BeautifulSoup 解析 HTML 表格

python - BeautifulSoup 对象中未打印链接属性

Python Beautiful Soup .content 属性

python - 如何在运行系统配置验收测试的 pytest 中管理 sys.path

python - 为什么 Psycopg2 很难在 CSV 中解析我的逗号

javascript - Python 抓取具有多个嵌套 <!DOCTYPE html> 的站点(具有多个 <!DOCTYPE html> 声明的站点)

python - 如何使用 Beautifulsoup 在某些文本中嵌入 p 标签?