[英]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.