繁体   English   中英

使用 Beautiful Soup 的数据采集器

[英]Data Scraper using Beautiful Soup

我正在尝试使用漂亮的汤从该网站上抓取表格,但一直收到消息 dataframe 为空。

 import requests
 import pandas as pd
 from bs4 import BeautifulSoup

 URL = "https://www.kiplinger.com/article/real-estate/t010-c000-s002-home-price- 
 changes-in-the-100-largest-metro-areas.html"
 page = requests.get(URL)

 soup = BeautifulSoup(page.content, 'html.parser')
 table = soup.find('table')

 data = []
 for tr in table.find_all('tr'):
 row = {}
 cells = tr.find_all('td')
  if len(cells) == 3:
    row['Metro Area'] = cells[0].text.strip()
    row['Median Home Price'] = cells[1].text.strip()
    row['Affordability Index'] = cells[2].text.strip()
    data.append(row)


 df = pd.DataFrame(data)
 print(df)

我的目标是包含 3 列的 dataframe。 “都会区”、“房价中位数”和“负担能力指数”。

有必要删除第 16 行的条件if ,因为该站点中的表格有六列(观察表格有六个td标记),并且如果单元格等于三,您已经条件化将值添加到变量,所以这个条件永远不会实现。

如果您删除整行if并适当地重新对齐代码,您将获得所请求的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM