如何将BeautifulSoup爬取得到的数据追加到dataframe中
你可以先将爬取到的所有name.text值存入列表,再转换为pandas DataFrame即可,具体实现如下:
- 首先确保已经安装pandas库,未安装可执行命令:
pip install pandas - 调整原有代码逻辑:
import pandas as pd from bs4 import BeautifulSoup # 此处省略你原有生成soup对象的代码 car_names = soup.find_all("h3") name_list = [] for name in car_names: # 把原有打印操作改为将文本存入列表,strip()用于清理首尾多余的空白、换行符 name_list.append(name.text.strip()) # 将列表转换为DataFrame,columns参数可自定义列名 df = pd.DataFrame(name_list, columns=["车型名称"]) # 若需要将结果保存到本地csv文件,可执行以下代码 # df.to_csv("汽车名称数据.csv", index=False, encoding="utf-8-sig")
也可以用列表推导式简化写法:
import pandas as pd name_list = [name.text.strip() for name in soup.find_all("h3")] df = pd.DataFrame(name_list, columns=["车型名称"])
如果后续需要同步存储其他爬取字段,可对应增加存储列表,转DataFrame时传入字典即可,示例如下:
# 假设同时需要爬取车型价格 name_list = [name.text.strip() for name in soup.find_all("h3")] price_list = [price.text.strip() for price in soup.find_all("span", class_="price")] df = pd.DataFrame({ "车型名称": name_list, "指导价格": price_list })
内容的提问来源于stack exchange,提问作者Abdurehman Dar
相关产品推荐
相关产品推荐

